11
A
回答
19
首先,您需要使用DATEFIRST設置Saturday
作爲第一天你的一週。值表示星期一,值表示星期六。然後,您可以使用DATEPART與week
或wk
或ww
對您的日期列值進行分組。
您可以在2012-01-08
正在weekno 因爲2012-01-07分組的日期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
1
OK,未經檢驗的,因爲我沒有SQL服務器得心應手,雖然直接翻譯成MySQL的似乎按預期工作:
SELECT *
FROM (SELECT your_date_field,
DATEADD(D,
-(DATEPART(DW,your_date_field) MOD 7), your_date_field) AS saturday
FROM your_table)
GROUP BY saturday
ORDER BY your_date_field
1
經本真正的問題,但是這防止其可以從被設置來防止額外的表和DATEFIRST 。這是我使用已知的日期方法和正在檢索的通話記錄的答案。
19000101 =週一 - 總是容易記住,因此設置週六19000106
SELECT MIN(dateadd(day, datediff(
day,'19000106', CallRecords.CallStartTime)/7*7, '19000106'))
AS CallStartTime
FROM CallRecords
GROUP BY DATEDIFF(day,'19000106', CallRecords.CallStartTime)/7
測試的SQL Server和SQL Server Compact 4.0上
2
您應該使用DATEPART
功能:
SELECT DATEPART(wk, Date), SUM(Value)
FROM Table
GROUP BY DATEPART(wk, Date)
希望這可以幫助你。
相關問題
- 1. 如何查看星期六/星期日?
- 2. 星期六開始星期的星期數
- 3. 顯示整個星期的開始日期爲星期六
- 4. 開始星期日的第一週的星期幾,星期六的星期的最後一天結束
- 5. 從星期一開始,星期幾不是星期一?
- 6. SQL Server 2012-星期日期星期六到星期五
- 7. PHP星期一星期一和星期六日期問題
- 8. PHP數組與星期六星期六至星期五
- 9. 計算星期一到星期六的星期幾
- 10. 如何按星期分組日期?
- 11. 作爲星期一或星期日influxdb使星期開始
- 12. Python2:在指定日期範圍內檢索星期日 - 星期六星期開始/結束日期
- 13. 星期幾字段
- 14. Bootstrap - datesDisabled數組日期和星期日和星期六
- 15. 忽略星期六和星期日
- 16. 按星期幾計算訂單,將星期六和星期日計數添加到星期五
- 17. 如何明確星期日和星期六的日期數?
- 18. 星期數和星期幾
- 19. 如何從星期日開始幾周?
- 20. 如何獲得星期一開始的特定日期的星期幾?
- 21. 獲取本週的開始日期和結束日期(星期一從星期一開始,星期日結束)
- 22. 星期三開始的星期幾的SQL組合
- 23. 如何按星期分組否,並獲取Sqlite中星期數的開始日期和結束日期?
- 24. Django的日期字段得到一個星期就像星期日星期一
- 25. 日期星期幾在Groovy
- 26. 按星期,月份,日期分組
- 27. MdDatePicker在星期一開始的星期
- 28. 星期一從星期一開始JavaScript
- 29. 星期五開始「星期五」,php
- 30. 創建周函數,而不是星期一開始的星期幾,星期一
+1努力。不能告訴你它是否有效,但是因爲Siva的答案並不那麼棒。 –
這真的是我唯一真正嫉妒其他dbms的東西......在查詢的其他部分使用select子句中的別名的能力。 –