假设我有一个包含列的表:A,B,C,D ......
我希望选择并按A分组,同时确保B在A中具有最大值。
部分查询是:
SELECT C, .. from table where D=x GROUP BY A ...
例如:
A | B | C | ...
------------------
1 | 3 | data1
1 | 2 | data2
2 | 5 | data3
2 | 1 | data 4
我希望选择行(1,3,data1,...)和(2,5,data3,...)。
更多信息:我在(D,A,B)上定义了索引
查询应该是什么样的?
答案 0 :(得分:0)
您可以使用
获得结果SELECT
e1.*
FROM
example7 e1
WHERE
e1.b = (
SELECT
MAX(e2.b)
FROM
example7 e2
WHERE
e2.a = e1.a
GROUP BY
e2.a
)
<强> DEMO 强>