3

私はこのテーブルを持っています

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

ID2 つ以上の異なる が存在する数を数えたいと思いcreationDateます。私の例では、2 が必要です ( ID2 と 6 は異なりますcreationDate)。

私は試した

SELECT COUNT(ID) FROM table
GROUP BY ID
HAVING count(DISTINCT creationDate)>1
4

2 に答える 2

2
SELECT COUNT(*)
FROM (SELECT ID,COUNT(DISTINCT creationDate)'CT'
      FROM Table
      GROUP BY ID
      HAVING COUNT(DISTINCT creationDate) > 1
     )sub

サポートする RDBMS を使用しているSUM() OVER()場合は、次を使用できます。

SELECT TOP 1 SUM(COUNT(DISTINCT ID))OVER()
FROM Table1
GROUP BY ID
HAVING COUNT(DISTINCT creationDate) > 1

デモ: SQL フィドル

于 2013-08-05T17:02:04.423 に答える
1

これを試して:

SELECT COUNT(ID)
FROM (
    SELECT COUNT(ID) AS IDCnt, ID
    FROM table
    GROUP BY ID
    HAVING count(ID)>1
    ) a
于 2013-08-05T17:01:06.177 に答える