我有一个 SELECT
结果,其中包含带日期的列。这是结果中的一些数据:
ID Name status start_date end_date
A1 John Planning 2017-03-03 2017-03-05
A1 John Realizing 2017-03-05 2017-04-05
A1 John Finishing 2017-04-05 2017-04-15
A1 John Launching 2017-04-15 2017-04-16
A2 Lisa Planning 2017-03-09 2017-03-13
A2 Lisa Realizing 2017-03-13 NULL
我想了解每个ID
从规划 -> 实现 -> 完成 -> 启动
的进度状态。
我已经使用了这个查询,但我不知道它是否足够可靠和足够快。真实的表包含数千个值。
SELECT x.id, x.name, CONCAT_WS(' to ', MIN(x.start_date), MAX(x.end_date)) AS 进度 FROM (SELECT * FROM team_project WHERE ID = 'A1') x
预期输出:
Name Progress total
John 2017-03-03 to 2017-04-16 44 days
Lisa 2017-03-09 to NOW -
最佳答案
我认为使用group by
你会喜欢这个
SELECT id, name, CONCAT_WS(' to ', MIN(start_date), MAX(end_date)) AS progress
FROM team_project group by ID
关于php - 如何从此表中选择日期 "span"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43446845/