没有做这样的事情
编辑于 2012 年 6 月 29 日上午 10:17 我意识到我的查询比我的示例查询复杂一些,并且当前的建议不起作用,但这是我的错。我在原始查询之上创建了一个更准确的查询。
SELECT DISTINCT
a,
max(b) as b,
(select count(distinct c) as c from d where e=2) as c
FROM d
GROUP BY a
来自 d 的样本数据
a | b | c | e
---+---+---+---
0 | 0 | 0 | 1
0 | 0 | 0 | 2
1 | 0 | 0 | 1
1 | 0 | 0 | 1
因此对于这组数据,其中 a = 0 c 的计数为 1(其中 e==1),对于 a = 1 c 的计数为 2(其中 e==1)
编辑结束
SELECT
a,
b,
(SELECT c from d where e=2)
FROM d
或者至少有更好的方法来提高性能吗?也许像一个工会。