让我们说我们有这样的表:
我只选择具有最高时间的唯一计划,并且还能够选择其他列。在这里说明一个查询(显然不会起作用):
SELECT DISTINCT(plan), time, id
FROM table
ORDER BY time desc
我怎么能得到这样的表:
plan|time|id
----+----+--------
1 |0 |9
2 |90 |10
3 |180 |11
4 |360 |12
5 |720 |13
6 |1080|15
7 |0 |16
8 |720 |23
答案 0 :(得分:4)
这听起来像一个简单的聚合查询:
SELECT plan, MAX(time)
FROM mytable
GROUP BY plan
答案 1 :(得分:2)
如果每个计划的最高时间是唯一的,并且您需要选择更多列,那么自联接应该
select mytable.* from
mytable
inner join
(
select plan, max(time) as maxtime
from mytable
group by plan
) as maxtimes
on mytable.plan = maxtimes.plan and mytable.time = maxtimes.maxtime
答案 2 :(得分:-4)
SELECT计划,最大(时间),ID 按计划从演示组