2013-03-11 97 views
0

输入表:MySQL查询的最小值和最大值分组

Table

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

输出:

enter image description here

回答

2

使用此:

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

输入状态丢失!! – DonX 2013-03-11 16:56:16

+0

是的,我只是编辑我的答案... thx @Dinesh – 2013-03-11 16:56:59

2

我怀疑你缺乏在查询中WHERE条款。

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