我尝试过的以及返回的数据不正确:
SELECT type, pid, MAX(distance) FROM table GROUP BY type
这将从我的数据库中检索每个唯一type
且正确的对应最大值(总共有 26 个不同的唯一值,这永远不会改变),但值不正确。如何检索正确和对应的值?distance
type
type
pid
pid
示例表数据:
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 查询中完成吗?type
WHERE type="' . $type . '" ORDER BY distance DESC LIMIT 1