MySQL的每周报告给定的开始日期和结束日期
我有以下存储数据的表:MySQL的每周报告给定的开始日期和结束日期
recordDate itemID price
2012-03-30 2 15.1
2012-03-30 13 15.1
2012-04-06 2 15.2
2012-04-06 13 15.3
2012-04-15 2 16.2
2012-04-16 13 16.3
2012-04-26 2 14.9
2012-04-26 13 15.0
...
我想有一个每周报告,从周五开始和结束下周四。 并且所选数据也只记录在给定的日期。
例如:startDate = "2012-04-01", endDate = "2012-04-30"
我预期的结果是这样的:
weekStart weekEnd itemID price
2012-04-06 2012-04-12 2 15.2
2012-04-06 2012-04-12 13 15.3
2012-04-13 2012-04-19 2 16.2
2012-04-13 2012-04-19 13 16.3
2012-04-20 2012-04-27 2 14.9
2012-04-20 2012-04-27 13 15.0
...
我怎样才能得到这样的结果?我对SQL不熟悉,所以我不知道如何编写这个语句。
SELECT
DAYNAME('2012-04-06') AS `start_week`,
DAYNAME('2012-04-12') AS `End_week`,
item_id,
price
FROM
store
WHERE record_date BETWEEN '2012-04-06'
AND '2012-04-12' ;
试试这个?
啊..我的错,我已经更新了我的问题 – Hanon 2012-04-10 11:10:04
我想你的意思是通过ITEM_ID说组那么这里就是你的查询 选择 DAYNAME(“2012-04-06”)AS'start_week', DAYNAME(” 2012-04-12' )AS'End_week', ITEM_ID, 价格 FROM 店 WHERE record_date BETWEEN '2012-04-06' AND '2012-04-12' GROUP BY ITEM_ID; – 2012-04-10 12:21:39
SELECT * from store where DAYNAME(recordDate) in ('Friday','Saturday','Sunday','Monday','Tuesday') and
start_date = '2012-01-01' and end_date = '2012-04-10'
我可以从PHP获取星期五和星期四日期,并从一周获得结果,但我不知道如何将结果分组,如我所提及的。 – Hanon 2012-04-10 11:13:45