我对 group by 和 count() 有疑问。
我需要一个如下所示的结果表。
试过了,我猜 JOIN 的所有变体。
有两种类型的错误结果:
- 第一种是缺少“3 C 0”行,
- 第二种是存在但具有错误值“3 C 1 ”
表格1:
id name
1 A
2 B
3 C
4 D
表2:
id
1
1
2
1
4
结果应如下所示:
id name count
1 A 3
2 B 1
3 C 0
4 D 1
有任何想法吗?
基本上,您需要这样的子查询:
看这里的小提琴。
基本上,我所做的是:
创建表 t1 和 t2:
和
填充它们:
和
运行我的查询:
结果:
内部查询获取计数,然后获取of存在的
LEFT JOIN
原因- 否则它会从结果集中丢失,并且函数(另见此处)会导致值存在,而不是否则会存在。我最初误读了这个问题 - 欢迎来到论坛!id1
3
COALESCE
0
NULL