MySQL: Count the distinct rows per day
Here's how you'd get counts per day for the last 7 days:
select
count(*) as count,
date(timestamp) as date
from
tablename
where
timestamp >= date_sub(curdate(), interval 7 day)
group by
date;
+-------------+------------+
| count | date |
+-------------+------------+
| #forThatDay | 2020-02-21 |
| #forThatDay | 2020-02-22 |
| #forThatDay | 2020-02-22 |
| #forThatDay | 2020-02-23 |
| #forThatDay | 2020-02-24 |
| #forThatDay | 2020-02-25 |
| #forThatDay | 2020-02-26 |
+-------------+------------+
7 rows in set (0.03 sec)
group by the ipNum
column first to get distinct counts of that column per day:
select
count(*) as count,
date(timestamp) as date
from
tablename
where
timestamp >= date_sub(curdate(), interval 7 day)
group by
ipNum, date;
SELECT DATE(timestamp) Date, COUNT(DISTINCT ipNum) totalCOunt
FROM tableName
GROUP BY DATE(timestamp)
- SQLFiddle Demo