在我的数据库中,我有一个3列,一列表示日期,第二列表示月份,第三列表示年份,如下所示:
Day | Month | Year
2 1 2018
17 9 2017
我想在sql中对天到周进行分组,将我看到的格式为"2018-5-2“的所有示例放在一列中。如何在sql中完成此操作?
发布于 2018-04-24 13:46:17
您可以这样做来提取年份和星期:
select yearweek(date(concat_ws('-', year, month, day)))
例如,这可以合并到聚合查询中。
发布于 2018-04-24 14:01:34
像这样的东西应该是有效的:
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'))
它将日期值组合成一个日期,然后使用WEEK函数从该日期中提取周数字。如果你还想选择日期本身(STR_TO_DATE(CONCAT(Day, '/', Month, '/', Year), '%dd/%mm/%YYYY')
),那么按周数分组没有多大意义,但你在帖子中没有提到这一点。
https://stackoverflow.com/questions/50003219
复制相似问题