如何基于一列的最大值并分组另外两列从MySQL中选择行?查询需要通过code进行分组,通过where子句(element_id=1.B.1.b)和max(data_value)进行element_id分组。
code element_id data_value
11-1011.00 1.B.1.a 1.33
11-1011.00 1.B.1.b 2.00
11-1012.00 1.B.1.a 2.67
11-1012.00 1.B.1.b 3.67
11-1012.00 1.B.1.C 7.00
我尝试了这个:
我已经尝试过以下方法:
SELECT * FROM (select
max(`data_value`) as maxID, `code`, `element_id`
from
table_name
GROUP BY `code`, `element_id`
ORDER BY maxID desc) abc
GROUP BY `code`
在这个表格中,我有很多数据。这是一个示例。
以下更加清晰:
我需要的结果:
11-1011.00 1.B.1.b 2.00
11-1012.00 1.B.1.c 7.00
这是没有where子句的结果。
如果使用where子句,我只想要匹配element_id(1.B.1.b)的一个结果:
11-1011.00 1.B.1.b 2.00