使用Min Max编写SQL查询

时间:2016-08-23 01:28:52

标签: sql max min

我的查询提供了itemdatetimeQty的交易列表。

SELECT item_no, trx_dt, trx_tm, quantity 
FROM dbo.Item_Trx_Table 
WHERE item='Item_1' AND [doc_type]<>'w' AND transDate='2016-08-22 00:00:00.000'

我需要帮助确定如何为每个QtyMin(trx_tm)获取Max(trx_tm)Item Date

任何指导都将不胜感激。

1 个答案:

答案 0 :(得分:0)

有点不清楚你想要什么,但我想你想要为每个项目得到MAX(trx_tm),并找到数量?如果是这样,请使用GROUP BY Item并选择Item或Date的MAX或MIN。然后还要让Qty做一个内连接。我将进行四个单独的查询(MAX项目,最小项目,最大日期,最小日期)。

这是第一个:获取每个项目的MAX(trx_tm),并找到数量:

SELECT grp.Item, grp.max_trx_tm, tbl.Qty
(
    SELECT Item, MAX(trx_tm) AS max_trx_tm
    FROM dbo.Item_Trx_Table
    GROUP BY Item 
) AS grp
INNER JOIN dbo.Item_Trx_Table tbl ON (tbl.Item = grp.Item AND tbl.trx_tm = grp.max_trx_tm)
WHERE tbl.Item='Item_1' AND tbl.doc_type <> 'w' AND tbl.transDate='2016-08-22 00:00:00.000'