我有一个包含一组列的表,其中一个是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/

10-13 03:29