SQL选择组中的最大值

时间:2016-07-29 16:20:48

标签: sql

我已经坚持了好几天了。我有3个字段,tot_order,slsnum和ordernum。我需要在ordernum中获取最大值,这是一个唯一字段及其在ordernum字段中的总订单号。 slsnum字段基于日期,所以我可以每行重复一次slsnum#18443450。

tot_order:     240,     100,      50

ordernum:23006343,    220110021,    180872124

我需要这样的最终结果: tot_order:240 slsnum:18443450 ordernum:23006343

4 个答案:

答案 0 :(得分:1)

您可以使用相关的子查询:

SELECT tot_order, slsnum, ordernum
FROM table as t1
WHERE ordernum = (SELECT max(ordernum) FROM table as t2 WHERE t2.slsnum = t1.slsnum)

WHERE子句中的子查询引用主查询中的slsnum字段以获取max(ordernum)

答案 1 :(得分:1)

您可以使用以下查询执行此操作:

Select tot_order, slsnum, ordernum
from table as t
where ordernum>=ALL(
     Select ordernum from t
 )

答案 2 :(得分:0)

给它一个旋转......

SELECT tot_order, slsnum, ordernum
FROM YourTable
WHERE OrderNum = (SELECT Max(OrderNum) FROM YourTable) 

答案 3 :(得分:0)

SELECT *
from table_name
where ordernum = (
  select max(ordernum) from table 
)