我遇到了 MySQL SQL 命令的问题。
我有一个包含 3 列的表格:
id (int) | ip(string) | time(mysql timestamp)
我想对所有按时间分组的行进行计数。我使用以下代码:
SELECT DATE( TIME ) as date, COUNT( * ) as count
FROM table
WHERE TIME > ( NOW( ) - INTERVAL 10 DAY )
GROUP BY DATE( `time` )
好吧,但是现在,我想忽略双 IP。例如:如果我将以下数据放入 mysql 表中:
ID | time | IP
--------------------------------------
1 | 2013-01-21 20:48:01 | 127.0.0.1
2 | 2013-01-22 20:48:01 | 127.0.0.1
3 | 2013-01-22 20:48:01 | 127.0.0.1
4 | 2013-01-22 20:48:01 | 127.0.0.3
我只想看到以下数据:
date | count
------------------
2013-01-21 | 1
2013-01-22 | 2
最好的方法是什么?我不会在我的应用程序中创建一个删除所有重复项的循环,因为表增长很快,如果我在我的应用程序中这样做,我将花费大量资源。