我有一个包含 4 个字段和 3 个记录的表,查询工作正常,但我希望a.start_date
在 group by 之前 order by
Tabel Name : testdata
Table fields : data type
id: autoincrement,primary key
pattern : varchar
start_date : datetime
cost : decimal(10,5)
记录 :
ID | Pattern | Start_date | Cost
1 | 1 | 2013-09-15 | 10.00
2 | 1 | 2013-09-04 | 15.00
3 | 1 | 2013-09-21 | 28.00
询问:
select a.*, b.cost AS future_cost, b.start_date AS future_date
FROM testdata a
LEFT JOIN testdata b ON a.pattern = b.pattern AND a.id <> b.id
GROUP BY a.pattern
电流输出:
id | pattern | start_date | cost | future_date | future_cost
1 | 1 | 2013-09-15 | 10.00| 2013-09-04 | 15.00
所需输出:
id | pattern | start_date | cost | future_date | future_cost
2 | 1 | 2013-09-04 | 15.00| 2013-09-15 | 10.00
我需要的是,在上面的例子中最早的日期是2013-09-04
未来的日期15
,如果我删除记录,2013-09-04
那么开始日期应该是2013-09-15
,未来的日期应该是2013-09-21
我的查询将是什么以获得所需的输出?
任何帮助和想法将不胜感激。