【发布时间】:2013-03-11 16:53:21
【问题描述】:
输入表:
通过考虑上表,我想列出给定输入状态“b”的按订单ID分组的开始和结束日期。现在我正在使用许多 sql 查询并在 java 中将它们合并在一起。但我想把它写在 mysql 中的单个 sql 查询中。谁能帮我在单个 sql 查询中写这个。
输出:
【问题讨论】:
输入表:
通过考虑上表,我想列出给定输入状态“b”的按订单ID分组的开始和结束日期。现在我正在使用许多 sql 查询并在 java 中将它们合并在一起。但我想把它写在 mysql 中的单个 sql 查询中。谁能帮我在单个 sql 查询中写这个。
输出:
【问题讨论】:
使用这个:
SELECT OrderId, MIN(createdDate) as MinDate, MAX(createdDate) as MaxDate
FROM tbl1
WHERE fromStatus = 'b' or inputStatus = 'b'
GROUP BY OrderId
【讨论】:
我怀疑您的查询中缺少 WHERE 子句。
SELECT orderID,
MIN(createdDate) min_date,
MAX(createdDate) max_date
FROM tableName
WHERE 'b' IN (fromStatus, toStatus)
GROUP BY OrderID
【讨论】: