我需要根据所选的组获得价值总和,我得到所有的价值总和,我正在尝试这种方式。
数据库
| ip | date | value |
| 1698170033 | 19032016 | 1000 |
| 1698170034 | 19032016 | 1000 |
| 1698170033 | 19032016 | 1000 |
| 1698170033 | 20032016 | 1000 |
| 1698170034 | 20032016 | 1000 |
| 1698170035 | 20032016 | 1000 |
| 1698170036 | 20032016 | 1000 |
| 1698170034 | 20032016 | 1000 |
的MySQL
SELECT
`date`, `ip`, SUM(`value`)
FROM `stats`.`stats`
GROUP BY `date`, `ip`
这样可以得到结果
| 1698170033 | 19032016 | 2000 |
| 1698170034 | 19032016 | 2000 |
| 1698170033 | 20032016 | 1000 |
| 1698170034 | 20032016 | 1000 |
| 1698170035 | 20032016 | 1000 |
| 1698170036 | 20032016 | 1000 |
预期结果
| 1698170033 | 19032016 | 1000 |
| 1698170034 | 19032016 | 1000 |
| 1698170033 | 20032016 | 1000 |
| 1698170034 | 20032016 | 1000 |
| 1698170035 | 20032016 | 1000 |
| 1698170036 | 20032016 | 1000 |
请建议任何可行的方法。
由于
答案 0 :(得分:2)
看起来你要么想要平均值,要么只想要其中一个值:
SELECT `date`, `ip`, AVG(`value`)
FROM `stats`.`stats`
GROUP BY `date`, `ip`
或者:
SELECT `date`, `ip`, max(`value`)
FROM `stats`.`stats`
GROUP BY `date`, `ip`
或者您想要区分输出:
SELECT distinct `date`, `ip`, `value`
FROM `stats`.`stats`