无法进行选择!
+----+---------+--------+------------+
| id | u | r | m |
+----+---------+--------+------------+
| 5 | 147 | 190 | 0.00006330 |
| 7 | 116 | 133 | 0.00002478 |
| 11 | 116 | 131 | 0.00002385 |
| 2 | 116 | 120 | 0.00002000 |
| 4 | 116 | 142 | 0.00002000 |
| 10 | 116 | 207 | 0.00001993 |
| 8 | 138 | 239 | 0.00001497 |
| 1 | 116 | 135 | 0.00001000 |
| 9 | 116 | 239 | 0.00000641 |
| 3 | 116 | 139 | 0.00000410 |
| 12 | 147 | 375 | 0.00000052 |
| 6 | 147 | 208 | 0.00000018 |
+----+---------+--------+------------+尝试发出这样的请求:
SELECT `u`, SUM(`m`) AS `my` FROM `rs` WHERE `m` > 0 AND `u` != 1 ORDER BY `m` DESC;但它只选择一个执行次数较多的操作,但需要统计所有操作并按它们应该的顺序显示,从大到小,如果有1个操作,则不会被纳入。
不要打得太重,不要打得太重。
更新:
返回:
116 | 0.00020804
仅限
,但是发生了什么呢?
..。
如何让它变得正确?
发布于 2021-02-28 13:43:53
要按降序获取结果,请执行以下操作:
查询:
SELECT `u`, SUM(`m`) AS `my` FROM `rs` WHERE `m` > 0 AND `u` != 1
group by u
order by sum(m) desc;输出:
使用
我的
116
0.00012906999745609937
147
0.00006400000179951348
138
0.000014969999938330147
发布于 2021-02-28 13:44:17
我假设你想要所有东西的总和
对于每个
..。
如果使用像这样的聚合函数
它需要知道如何将行组合在一起以求和。你需要一个
子句
..。如果没有它,您的查询应该是非法的,但是
旧版本的MySQL会允许这样做,并会给出错误的答案
..。
另一部分是你不能按以下方式排序
如果您按以下方式分组
..。您可能希望按以下顺序进行排序:
..。
SELECT `u`, SUM(`m`) AS `my`
FROM `rs`
WHERE `m` > 0 AND `u` != 1
GROUP BY u
ORDER BY `my` DESC;https://stackoverflow.com/questions/66406139
复制相似问题