我尝试使用WHERE
子句从1列查看2个条件列。
例如:
我有一个数据集,其中我有一个很长的呼叫列表。我想看到两个不同的列,其中第一列显示等于或长于0秒的所有呼叫的计数,第二列显示等于或长于120秒的所有呼叫的计数。
这是我的第一个问题:
SELECT distinct year(date) Year, monthname(date) as Month, count(calls) Leads
FROM database.calls
where duration >= 120
and year(date) = 2022
group by month(date)
order by max(date);
第二次查询:(唯一的区别是在第3行,持续时间等于0)
SELECT distinct year(date) Year, monthname(date) as Month, count(calls) Leads
FROM database.calls
where duration >= 0
and year(date) = 2022
group by month(date)
order by max(date);
预期结果:
| 年份|月份|呼叫(0秒)|呼叫(120秒)|
| - ------|- ------|- ------|- ------|
| 小行星2022| 1月|六五四|五二一|
| 小行星2022|二月|八九五|四六五|
| 小行星2022|三月|五六二|三二一|
1条答案
按热度按时间nimxete21#
要获取条件总和,可以使用条件聚集:在聚合函数中指定一个条件,以便它只聚合合格的值。
注意:您需要在
GROUP BY
子句中添加每个选定的非聚合字段,否则可能会出现DBMS错误或错误数据。