MySQL GROUP BY返回一行

时间:2016-03-22 10:32:53

标签: php mysql

我需要在每日ip基础上获得唯一行的总数,在另一天重复ip将被计入行。

我也遵循了这些linklink方法,但没有效果

我这样做

数据库

|    ip      |  date    |
| 1698170033 | 19032016 |
| 1698170034 | 19032016 |
| 1698170033 | 19032016 |
| 1698170033 | 20032016 |
| 1698170034 | 20032016 |
| 1698170035 | 20032016 |
| 1698170036 | 20032016 |
| 1698170033 | 20032016 |

的MySQL

SELECT 
`date`, `ip`
FROM `stats`.`stats`    
GROUP BY `date`

这样可以得到结果

| 1698170033 | 19032016 |
| 1698170033 | 20032016 |

预期结果

| 1698170033 | 19032016 |
| 1698170033 | 20032016 |
| 1698170034 | 20032016 |
| 1698170035 | 20032016 |
| 1698170036 | 20032016 |

请建议任何可行的方法。

由于

2 个答案:

答案 0 :(得分:3)

您还需要GROUP BY ip字段:

SELECT `date`, `ip`
FROM `stats`.`stats`    
GROUP BY `date`, `ip`

这会为您提供表格中所有dateip对的明确列表。

答案 1 :(得分:0)

尝试按日期和ip使用分组

SELECT `date`, `ip` FROM `stats`.`stats`GROUP BY `date`, `ip`