2
通过现场分组的最高值获得的行我有如下表从MySQL数据库
+----+----------+-----+
| id | priority | sub |
+----+----------+-----+
| 1 | 1 | A |
| 2 | 3 | A |
| 3 | 4 | A |
| 4 | 2 | B |
| 5 | 9 | B |
+----+----------+-----+
我要去跟每个子优先级最高的行。所以这个结果:
+----+----------+-----+
| id | priority | sub |
+----+----------+-----+
| 3 | 4 | A |
| 5 | 9 | B |
+----+----------+-----+
我试过分组,但是这给出了不可预测的结果。我的猜测是嵌套查询,先开始寻找优先级最高的,像这样:
select max(priority),sub from t group by sub
这给了我
+----------+-----+
| priority | sub |
+----------+-----+
| 4 | A |
| 9 | B |
+----------+-----+
但我也需要ID,加入到查询明明给我的错ID,加入这个结果与查询在同一个表上给了我一个错误(ER_NONUNIQ_TABLE(1066)),这是有道理的...任何人都可以推动我在正确的方向吗?
'+ 1'用于与期望的结果加样的记录。 –