SQL-计数具有不同创建日期的idUser
我有这张桌子SQL-计数具有不同创建日期的idUser,sql,Sql,我有这张桌子 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
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(ID)
FROM (
SELECT COUNT(ID) AS IDCnt, ID
FROM table
GROUP BY ID
HAVING count(ID)>1
) a
如果使用支持SUM()OVER()
的RDBMS,您可以使用:
SELECT TOP 1 SUM(COUNT(DISTINCT ID))OVER()
FROM Table1
GROUP BY ID
HAVING COUNT(DISTINCT creationDate) > 1
演示:您从查询中得到了什么输出?如果您在having中按创建日期和更改计数(ID)分组会发生什么情况?您不应该保留问题。有没有回答你的问题?如果是,请将其标记为已解决。
SELECT TOP 1 SUM(COUNT(DISTINCT ID))OVER()
FROM Table1
GROUP BY ID
HAVING COUNT(DISTINCT creationDate) > 1