簡體   English   中英

按周分組並返回奇怪的間隔

[英]Group by week returning strange intervals

由於某些奇怪的原因,group by week返回帶有datetime字段的奇數日期間隔。

“已完成”是一個日期時間字段,使用以下查詢:

SELECT 
    Completed, 
    COUNT( DISTINCT Table1.ID ) AS ActivityCount 
FROM Table1 
JOIN Table1Items 
ON Table1.ID = Table1Items.ID 
JOIN database_database.Table2 
ON Table2.Item = Table1Items.Item 
WHERE Completed != '0000-00-00' AND Completed >= '2012-09-25' AND Completed <= '2012-10-25' 
GROUP BY WEEK(Completed)

我越來越:

Completed  ActivityCount    CompletedTimestamp
2012-09-25  300            2012-09-25 00:00:00
2012-10-02  764            2012-10-02 00:00:00
2012-10-08  379            2012-10-08 00:00:00
2012-10-17  659            2012-10-17 00:00:00
2012-10-22  382            2012-10-22 00:00:00

有的相隔7天,有的相隔6天,有的相隔5天...而有的相隔9天?

為什么將日期按如此奇怪的間隔而不是僅僅7天分組?

week功能不計算日期差。

week函數返回日期的周數。 如果按其分組,則分組中的日期將是一周的開始和結束以及之間的日期。 單個日期之間的差異可以大於7天或更短。

正如juergen d所暗示的,答案是匯總date列-使用min或max取決於您是否希望將一周的第一天或最后一天用作一致間隔; 例如:

SELECT MIN(Completed),COUNT(DISTINCT Table1.ID)AS ActivityCount from Table1 JOIN Table1Items ON Table1.ID = Table1Items.ID JOIN database_database.Table2 ON Table2.Item = Table1Items.Item WHERE完成!='0000-00-00' AND已完成> ='2012-09-25'AND已完成<='2012-10-25'GROUP BY WEEK(已完成)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM