Mysql 使用sql创建一列,显示一周的第一天和最后一天
正在尝试创建一列,该列将告诉我weekofyear()以及日期:Mysql 使用sql创建一列,显示一周的第一天和最后一天,mysql,sql,format,Mysql,Sql,Format,正在尝试创建一列,该列将告诉我weekofyear()以及日期: Week Date org cost -------------------------------------------- 50 "2016/12/12-2016/12/18" 1 400 51 "2016/12/19-2016/12/25" 1 400 52 "2016/12/26" 1 400
Week Date org cost
--------------------------------------------
50 "2016/12/12-2016/12/18" 1 400
51 "2016/12/19-2016/12/25" 1 400
52 "2016/12/26" 1 400
这告诉我第52周只包括12月26日的数据,而不是整周的数据
以下是我的查询:
SELECT
weekofyear(date) as week_number,
exchange,
country,
channel,
sum (media_cost) as mc
FROM
imps
WHERE
date BETWEEN '2016-12-26' AND '2017-01-08'
GROUP BY
weekofyear(date) as week_number,
exchange,
country,
channel;
我已经看过了,但这并不能解决看它包括哪些日子的问题。
使用垃圾箱可能有用吗?你有什么建议 在您的查询中,
其中
不起作用,因为字符串“2016/12/12-2016/12/18”永远不会在两个日期之间。您需要创建两个日期列,例如week\u begin
和week\u end
。然后您的位置可以是:
WHERE week_begin BETWEEN '2016-12-26' AND '2017-01-08'
OR week_end BETWEEN '2016-12-26' AND '2017-01-08'
信息如此之少,很难理解一个问题。请提供一些示例数据以及您希望获得的该示例的结果。请参阅,我真的不知道您要求的是什么,但PHP中的strotime函数可以将周数转换为如下日期:date(“Y-m-d”,strotime(“2017W01”)代码>。这将给你2017年第一周的第一次约会。@CptMisery试图让这个问题更具说服力clear@Mureinik添加了更多数据和示例结果