2012-01-25 28 views
0

我有一個表,有一些條目,以及諸如itemsbought和starttime和endtime之類的列。開始和結束時間如dd/yy hh:mm:ss格式。但從1月1日到1月20日的時間跨度來說,我如何找到項目總和呢?如何在sql中查找給定時間範圍內的條目?

我不確定它是否直截了當,因爲如果有條目從Jan15開始到Feb20結束。有沒有辦法知道如何這些項目的許多人買withing Jan15到20,因爲只有那些項目需要包括在我的個性化......

你會如何處理這個?

感謝

回答

0

如果starttimeendtime實際上datetime類型,而不是文字,試試這個:

SELECT SUM(itemsbought) 
FROM items 
WHERE starttime BETWEEN '2012-01-01' AND '2012-01-20' 
    AND endtime BETWEEN '2012-01-01' AND '2012-01-20' 

這樣,如果任一starttimeendtime秋天你想要的範圍之外,他們不會被包括在內。

0

我認爲最好的辦法是請誰就將使用從查詢,他們會如何想它被處理的輸出。

,似乎最適合我的將是選項:

  1. 只包括條目時開始時間是否在指定日期範圍內(即忽略結束時間)。
  2. 僅包括條目,其中結束時間是否在指定日期範圍內(即,開始時間忽略)。
  3. 按比例的itemsbought(以及任何其他適當的量)通過在指定日期範圍內的記錄日期範圍內的比例。

有可能是這種情況已經定義業務規則 - 我懷疑選項2是最有可能的。

相關問題