【发布时间】:2014-01-01 09:32:51
【问题描述】:
我有以下工作表:
job_id | is_full_time | is_short_term
1 | 0 | 0
2 | 0 | 1
3 | 1 | 0
4 | 1 | 1
我有以下查询,我得到了 4 行的结果。
SELECT is_full_time, is_short_term,
COUNT(CASE WHEN is_full_time = 1 AND is_short_term = 0 THEN 1 ELSE NULL END) AS FT_Long,
COUNT(CASE WHEN is_full_time = 1 AND is_short_term = 1 THEN 1 ELSE NULL END) AS FT_Short,
COUNT(CASE WHEN is_full_time = 0 AND is_short_term = 0 THEN 1 ELSE NULL END) AS PT_Long,
COUNT(CASE WHEN is_full_time = 0 AND is_short_term = 1 THEN 1 ELSE NULL END) AS PT_Short
FROM job
GROUP by is_full_time, is_short_term
我的结果如下所示:
FT_Long | FT_Short | PT_Long | PT_Short
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
如何将此结果合并到一个结果行中?
我想看看这个:
FT_Long | FT_Short | PT_Long | PT_Short
1 1 1 1
【问题讨论】:
-
分组依据显示您正在分组的列的唯一值。也就是说,您没有对聚合列进行分组,因此您可以获得它们的全部输出。尝试将所有列分组,看看会发生什么。
-
您使用的是哪个 DBMS?后格雷斯?甲骨文?