id name logdate
1 張三 20200101
2 李四 20201201
3 張三 20200102
實作這樣的統計
id name counts
1 張三 2
2 李四 1
3 王五 0
實際就是登陸的次數,沒有的顯示 0
uj5u.com熱心網友回復:
SELECT A.ID,A.NAME,ISNULL(COUNT(*),0) AS COUNTS
FROM USERDB A
JOIN LOG B ON A.NAME=B.NAME
GROUP BY A.ID,A.NAME
uj5u.com熱心網友回復:
with userdb(id,name) as (
select 1 ,'張三' union all
select 2 ,'李四' union all
select 3 ,'王五'
)
, log(id ,name,logdate) as
(
select 1, '張三', '20200101' union all
select 2, '李四', '20201201' union all
select 3, '張三', '20200102'
)
select t1.name,count(t2.name) as log_count
from userdb t1
left join log t2 on t1.name=t2.name
group by t1.name
結果:
name log_count
張三 2
李四 1
王五 0
uj5u.com熱心網友回復:
你的運行結果是:
ID NAME COUNTS
1 張三 2
2 李四 1
uj5u.com熱心網友回復:
不好意思再問下。你的陳述句我跑下來也是
1 張三 2
2 李四 1
不過我沒有用with 那一塊,因為資料庫中有很多記錄
uj5u.com熱心網友回復:
select t1.PeopleName,count(t2.PeopleName) from Table1 t1 left join Table2 t2 on t1.PeopleName=t2.PeopleName group by t1.PeopleName
uj5u.com熱心網友回復:
你看樓上,和我一樣的代碼,成功了,核心是你要left join,你寫的是join吧,所以沒有
uj5u.com熱心網友回復:
SELECT A.ID,A.NAME,ISNULL(COUNT(*),0) AS COUNTS
FROM USERDB A
JOIN LOG B ON A.NAME=B.NAME
GROUP BY A.ID,A.NAME
你的運行結果是:
ID NAME COUNTS
1 張三 2
2 李四 1
搞錯了,應該是LEFT JOIN
uj5u.com熱心網友回復:
SELECT A.ID,A.NAME,ISNULL(COUNT(*),0) AS COUNTS
FROM USERDB A
JOIN LOG B ON A.NAME=B.NAME
GROUP BY A.ID,A.NAME
**桔妹導讀:**深耕人工智能領域,致力于探索AI讓出行更美好的滴滴AI Labs再次斬獲國際大獎,這次獲獎的專案是什么呢?一起來看看詳細報道吧! 近日,由國際計算語言學協會ACL(The Association for Computational Linguistics)舉辦的世界最具影響力的機器 ......
我們經常在資料庫中使用 LIKE 運算子來完成對資料的模糊搜索,LIKE 運算子用于在 WHERE 子句中搜索列中的指定模式。 如果需要查找客戶表中所有姓氏是“張”的資料,可以使用下面的 SQL 陳述句: SELECT * FROM Customer WHERE Name LIKE '張%' 如果需要 ......
關于MySQL的二進制日志(binlog),我們都知道二進制日志(binlog)非常重要,尤其當你需要point to point災難恢復的時侯,所以我們要對其進行備份。關于二進制日志(binlog)的備份,可以基于flush logs方式先切換binlog,然后拷貝&壓縮到到遠程服務器或本地服務器 ......