我有这张 table
ID / creationDate
2 / 2012-06-28 04:58:27
2 / 2012-07-10 14:26:51
2 / 2013-04-18 00:35:36
3 / 2012-07-02 16:47:00
4 / 2012-07-02 20:24:22
5 / 2012-07-03 00:32:17
6 / 2012-07-05 04:40:02
6 / 2012-07-06 18:17:08
6 / 2013-04-28 22:28:54
我想计算具有 2 个或更多不同 creationDate
的 ID
的数量。在我的示例中,我想要 2(ID
2 和 6 具有不同的 creationDate
)。
我试过了
SELECT COUNT(ID) FROM table
GROUP BY ID
HAVING count(DISTINCT creationDate)>1
最佳答案
SELECT COUNT(*)
FROM (SELECT ID,COUNT(DISTINCT creationDate)'CT'
FROM Table
GROUP BY ID
HAVING COUNT(DISTINCT creationDate) > 1
)sub
如果使用支持 SUM() OVER()
的 RDBMS,您可以使用:
SELECT TOP 1 SUM(COUNT(DISTINCT ID))OVER()
FROM Table1
GROUP BY ID
HAVING COUNT(DISTINCT creationDate) > 1
演示:SQL Fiddle
关于SQL - 计算具有不同创建日期的 idUser,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18063518/