web-dev-qa-db-ja.com

MySQL:1日あたりの個別の行を数える

興味深いクエリがあります。 IPアドレス番号(INET_ATONを使用)を含むINT列とtimestamp列を含むテーブルがあります。 1日に存在する一意のIPアドレス列の数をカウントできるようにしたいと思います。つまり、1日あたりの個別のIP行の数です。したがって、たとえば、IPアドレスが同じ日に2回ある場合、最終カウントでは1としてカウントされますが、同じIPアドレスが別の日にある場合、カウントされると、2番目のカウントになります。

データの例:

PK | FK  | ipNum      | timestamp
11 | 404 | 219395     | 2013-01-06 22:23:56
7  | 404 | 467719     | 2013-01-06 22:23:41
8  | 404 | 4718869    | 2013-01-06 22:23:42
10 | 404 | 16777224   | 2013-01-06 22:23:56
5  | 404 | 1292435475 | 2013-01-06 22:23:25
12 | 404 | 1526990605 | 2013-01-06 22:23:57
6  | 404 | 1594313225 | 2013-01-06 22:23:40
4  | 404 | 1610613001 | 2013-01-06 22:23:23
9  | 404 | 1628635192 | 2013-01-06 22:23:55
1  | 404 | 2130706433 | 2013-01-06 21:29:38
2  | 407 | 2130706433 | 2013-01-06 21:31:59
3  | 407 | 2130706433 | 2013-01-06 21:32:22
19
Sam
SELECT  DATE(timestamp) Date, COUNT(DISTINCT ipNum) totalCOunt
FROM    tableName
GROUP   BY  DATE(timestamp)
53
John Woo