我需要按日期获得人数。
我有这个错误:
ORA-00937不是单组组功能
查询如下
SELECT DISTINCT DATA,count(PERSON)
FROM table
where DATA >= TO_DATE ('01/05/2016', 'DD/MM/YYYY') AND DATA <= TO_DATE ('31/05/2016', 'DD/MM/YYYY');
GROUP BY DATA
ORDER BY DATA
我不明白出了什么问题?
答案 0 :(得分:4)
问题是WHERE
子句末尾的分号:
SELECT t.DATA, count(PERSON)
FROM table t
WHERE t.DATA >= DATE '2016-05-01' AND t.DATA <= DATE '2016-05-31'
GROUP BY t.DATA
ORDER BY t.DATA;
注意:
SELECT DISTINCT
几乎不需要GROUP BY
。
DATE
关键字支持此功能。t.DATA >= DATE '2016-05-01' AND t.DATA < DATE '2016-06-01'
会更安全。日期可能有时间成分。