在我的数据库中,我当天有3列,第二列是本月,第三列是年份,它看起来像这样:
Day | Month | Year
2 1 2018
17 9 2017
我想在sql中将日期分为几周,我在一列中以“2018-5-2”格式查看了所有示例。我怎么能在sql中做到这一点?
答案 0 :(得分:0)
你可以做这样的事情来提取年份和周:
select yearweek(date(concat_ws('-', year, month, day)))
例如,这可以合并到聚合查询中。
答案 1 :(得分:0)
这样的事情应该有效:
SELECT
WEEK(STR_TO_DATE(CONCAT(Day, '/', Month, '/', Year), '%dd/%mm/%YYYY')) AS Weeknumber
FROM YOURTABLE
GROUP BY WEEK(STR_TO_DATE(CONCAT(Day, '/', Month, '/', Year), '%dd/%mm/%YYYY'))
它将您的日期值合并到DATE中,然后使用WEEK函数从该日期中提取周数。如果您还想选择日期本身(STR_TO_DATE(CONCAT(Day, '/', Month, '/', Year), '%dd/%mm/%YYYY')
),那么对周数进行分组就没有多大意义,但您在帖子中没有提及。