我是SQL的初学者,同时在加入和计数方面遇到了一些麻烦.首先让我解释一下我的两张桌子.我有以下内容:
Table: AnalysePageview
id title session more
-----------------------------------------------------
1 a 10 0
2 b 20 1
3 c 30 1
4 d 40 1
5 e 50 1
6 f 60 0
Table: AnalyseEvent
id name session more
-----------------------------------------------------
1 a 10 0
2 b 10 1
3 c 10 1
4 d 20 1
Run Code Online (Sandbox Code Playgroud)
我想加入这两个并添加这样一行:
New Table:
id name session counts (out off AnalyseEvent)
-----------------------------------------------------
1 a 10 3
2 b 20 1
3 c 30 0
4 d 40 0
5 e 50 0
6 f 60 0
Run Code Online (Sandbox Code Playgroud)
我刚试过这个:
SELECT *,
COUNT( AnalyseEvent.session ) AS totalViews
FROM AnalysePageview
LEFT JOIN AnalyseEvent ON AnalysePageview.session = AnalyseEvent.session
Run Code Online (Sandbox Code Playgroud)
谢谢你提前帮助.(我的小初学者解释)
你需要一个group by:
SELECT apv.id, apv.name, apv.session, COUNT( ae.session ) AS totalViews
FROM AnalysePageview apv LEFT JOIN
AnalyseEvent ae
ON apv.session = ae.session
GROUP BY apv.id, apv.name, apv.session;
Run Code Online (Sandbox Code Playgroud)
我还添加了表别名,以使查询更容易编写和读取.