我有一张这样的表
id orderid type date
20 831 1 2016-10-26 15:09:25
22 1410 1 2016-10-26 15:09:27
23 1779 1 2016-10-10 15:09:29
26 1779 2 2016-10-10 15:09:29
24 1809 1 2016-10-26 15:09:30
我希望得到最后一种类型的每个订单。因此,订单1779应该是类型2
有人可以帮忙吗?
答案 0 :(得分:1)
如果你的意思是最后一个类型是具有最大值的类型,那么查询就像这样简单
SELECT orderid,
MAX(type) AS last_type
FROM table_name
GROUP BY orderid;
答案 1 :(得分:0)
SELECT id,orderid,type,date
FROM
(
SELECT *,
ROW_NUMBER() OVER ( PARTITION BY orderid ORDER BY type DESC ) AS rn
FROM yourtable
)
WHERE rn = 1;
答案 2 :(得分:0)
从表t1中选择distinct t1.orderid,(从表中选择max(type),其中orderid = t1.orderid)
试试这个