我尝试过的以及返回的数据不正确:
SELECT type, pid, MAX(distance) FROM table GROUP BY type
这将从我的数据库中检索每个唯一type且正确的对应最大值(总共有 26 个不同的唯一值,这永远不会改变),但值不正确。如何检索正确和对应的值?distancetypetypepidpid
示例表数据:
pid  | type | distance  | ...
675  | dcj  | 273060192 | ...
743  | mcj  | 273046176 | ...
284  | dcj  | 271592224 | ...
4091 | lj   | 255217488 | ...
743  | lj   | 255170160 | ...
4091 | lj   | 230840928 | ...
应该返回什么:
pid  | type | distance
675  | dcj  | 273060192
743  | mcj  | 273046176
4091 | lj   | 255217488
关于数据的一些值得注意的信息:每个pid值有多个条目,每个值可能有多个pid具有相同type值的条目。
我是否需要使用 PHP 运行两个不同的查询,其中第一个查询type通过 26 个不同的值GROUP BY type,第二个查询执行 26 次不同的时间(每个唯一值一次)并通过类似的东西type找到每个查询的最大值?或者这可以在一个 SQL 查询中完成吗?typeWHERE type="' . $type . '" ORDER BY distance DESC LIMIT 1