mySQL为A列选择与B列相同的最大值
下面是有问题的表格,由问题底部的命令生成:mySQL为A列选择与B列相同的最大值,mysql,Mysql,下面是有问题的表格,由问题底部的命令生成: +--------------+-----------------+ | usr_postcode | pdp_point_total | +--------------+-----------------+ | MS2 8LA | 160 | | MS2 8LA | 140 | | MS2 8LA | 110 | | MS2 8LA |
+--------------+-----------------+
| usr_postcode | pdp_point_total |
+--------------+-----------------+
| MS2 8LA | 160 |
| MS2 8LA | 140 |
| MS2 8LA | 110 |
| MS2 8LA | 100 |
| MS2 8LA | 90 |
| MS2 8LA | 80 |
| MS2 8LA | 50 |
| MS2 8LA | 30 |
| WN4 9NV | 25 |
| MS2 8LA | 20 |
| SL6 1SR | 10 |
| SL1 4DX | 10 |
+--------------+-----------------+
我想在第二列中找到第一列中每个值的最大值,因此输出如下:
-------------
MS2 8LA | 160
WN4 9NV | 25
SL6 1SR | 10
SL1 4DX | 10
-------------
这两列来自不同的表,因此目前这是我的命令:
SELECT DISTINCT users.usr_postcode, point_date_pairs.pdp_point_total FROM users
INNER JOIN point_date_pairs ON users.usr_id_pk = point_date_pairs.usr_id_fk
ORDER BY point_date_pairs.pdp_point_total DESC;
小组成员应帮助:
SELECT users.usr_postcode, MAX(point_date_pairs.pdp_point_total)
FROM users
INNER JOIN point_date_pairs ON users.usr_id_pk = point_date_pairs.usr_id_fk
GROUP BY users.usr_postcode ASC
是的,非常好用,谢谢!如果没有MAX()函数,它是否只会找到第一个匹配的pdp_point_total记录并显示出来?我不确定这是什么行为,但我不会依赖它,因为行的顺序可能会改变。如果使用group by,则应始终使用相应的聚合函数: