MySql使用分组查询min和max

时间:2013-03-11 16:53:21

标签: mysql sql database select

输入表:

Table

通过考虑上表,我想列出按订单ID 分组的开始和结束日期,用于给定的输入状态“b”。现在我正在使用许多SQL查询并在java中将它们合并在一起。但是我想在mysql中用单个sql查询编写它。任何人都可以帮我在单个SQL查询中写这个。

输出:

enter image description here

2 个答案:

答案 0 :(得分:2)

使用此:

SELECT OrderId, MIN(createdDate) as MinDate, MAX(createdDate) as MaxDate
FROM tbl1
WHERE fromStatus = 'b' or inputStatus = 'b'
GROUP BY OrderId

答案 1 :(得分:2)

我怀疑你的查询中缺少WHERE子句。

SELECT  orderID, 
        MIN(createdDate) min_date,
        MAX(createdDate) max_date
FROM    tableName
WHERE   'b' IN (fromStatus, toStatus)
GROUP   BY OrderID