我的表格内容:
id aid
----------
1 1
2 2
3 2
4 4
5 4
我的 sql: select count(*) from table where aid in (1,2,3,4) group by aid
结果:
count(*)
----------
1
2
2
我想要结果:
count(*)
----------
1
2
0
2
当援助为 1,2,3,4 时,我想要一个计数结果。我应该使用什么sql?感谢帮助。 (我用的是MySQL)
最佳答案
-- your data
DECLARE @Data TABLE (Id int, Aid int)
INSERT INTO @Data VALUES
(1,1),
(2,2),
(3,2),
(4,4),
(5,4);
DECLARE @Relevant TABLE (Id int )
INSERT INTO @Relevant VALUES (1),(2),(3),(4);
-- the query
SELECT Relevant.Id, COUNT(Data.Aid)
FROM @Data Data
RIGHT JOIN @Relevant Relevant ON Data.Aid = Relevant.Id
GROUP BY Data.Aid, Relevant.Id
关于mysql - 使用 count() 分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11879592/