1

次のようなテーブルがあります。

Id  CookieId
--------------------------------
4   13ab1dc1bac-ef74565ea9ff5ba8
4   13b474728b3-6cf7bf445e311c59
4   13b474728b3-6cf7bf445e311c59
4   13a1b545ebf-20c86b23c91ad2c5
4   13a1b545ebf-20c86b23c91ad2c5

結果は、個別の行のみになるはずです。

Id  CookieId
--------------------------------
4   13ab1dc1bac-ef74565ea9ff5ba8
4   13b474728b3-6cf7bf445e311c59
4   13a1b545ebf-20c86b23c91ad2c5

行の数を取得できれば、それ以上のことも良いでしょう。

Id      count(CookieId)
-----------------------
4       3

この2つの結果をどのように達成できますか?

4

5 に答える 5

3

結果で一意のレコードを取得するには、次を使用します。

SELECT DISTINCT ID, CookieId
FROM Table1

結果:

| ID |                     COOKIEID |
-------------------------------------
|  4 | 13ab1dc1bac-ef74565ea9ff5ba8 |
|  4 | 13b474728b3-6cf7bf445e311c59 |
|  4 | 13a1b545ebf-20c86b23c91ad2c5 |

次のような関数内での一意のCookieId使用回数を取得するには:DISTINCTCOUNT

SELECT ID, COUNT(DISTINCT CookieId) AS `COUNT`
FROM Table1
GROUP BY ID

結果:

| ID | COUNT |
--------------
|  4 |     3 |

このSQLFiddleを参照してください

于 2012-12-07T09:52:05.440 に答える
2

最初に個別の値を選択するには、次を使用します

SELECT DISTINCT CookieId, Id 
FROM YourTable;
GO

これは、2 つの列にまたがって重複があるためにのみ機能します。これらの値の数を取得するには、次を使用します

SELECT Id, COUNT(DISTINCT CookieId)
FROM YourTable;
GROUP BY Id;
GO

これが役立つことを願っています。

于 2012-12-07T09:53:22.867 に答える
1

このクエリを試すことができます

select Id,count(CookieId) from table_name group by CookieId;
于 2012-12-07T09:52:13.990 に答える
0
    SELECT  DISTINCT(`CookieId`),Id, COUNT(CookieId) FROM
 `tablename` GROUP BY `CookieId`
于 2012-12-07T09:55:13.877 に答える
0
select Id, CookieId, count(1) as Amount
from Table1 group by Id, CookieId
于 2012-12-07T09:53:12.930 に答える