我有一个包含一组列的表,其中一个是Date列。
我需要计算在同一个月中该列的值出现了多少次。并返回,如果一个月后,该总数超过3。
例如:
____________________
| DATE | .... |
---------------------
1998-09-02
1998-09-03
1998-10-03
1998-10-04
这必须不返回任何值。因为它没有必要的重复次数。
但这确实做到了:
____________________
| DATE | .... |
---------------------
1998-09-02
1998-09-03
1998-09-12
1998-09-14
1998-10-02
1998-11-21
11月月份。
适用于Oracle DB。
最佳答案
SELECT
COUNT(date)
, TRUNC(DATE,'MON')
FROM TABLE
GROUP BY TRUNC(DATE,'MON')
HAVING COUNT(DATE) > 3
关于日期列的SQL计数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2375781/