gpt4 book ai didi

sql - 如何按周对日期字段进行分组(每周从周六开始)?

转载 作者:行者123 更新时间:2023-12-02 07:42:32 24 4
gpt4 key购买 nike

我知道当我看到这个问题的答案时我会“呃”,但尽管如此:

如何按周对日期字段进行分组(每周从周六开始)?

最佳答案

您需要首先使用DATEFIRST星期六设置为一周的第一天。值1 表示星期一,值6 表示星期六。然后您可以使用DATEPART使用 weekwkww 对日期列值进行分组。

您可以在下面的示例数据中看到,日期 2012-01-072012-01-08 的值分组在 weekno 2 因为2012-01-07星期六。任何一年的1 月 1 日始终是该年的第一周。

Click here to view the output in SQL Fiddle.

脚本:

CREATE TABLE weekdays
(
datevalue datetime NOT NULL
, numericvalue INT NOT NULL
);

INSERT INTO weekdays (datevalue, numericvalue) VALUES
('2012-01-01', 4),
('2012-01-02', 1),
('2012-01-07', 2),
('2012-01-08', 8),
('2012-01-14', 3),
('2012-01-15', 2),
('2012-01-19', 6);

SET DATEFIRST 6;

SELECT DATEPART(wk, datevalue) weekno
, SUM(numericvalue) totalvalue
FROM weekdays
GROUP BY DATEPART(wk, datevalue)

输出:

weekno totalvalue
------ ----------
1 5
2 10
3 11

关于sql - 如何按周对日期字段进行分组(每周从周六开始)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10424395/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com