簡體   English   中英

SQL不到7天

[英]SQL less than 7 days

我需要選擇相同order_ID的所有值,其中第一個日期和最后一個之間的差異等於或小於7,但我無法弄清楚我應該怎么做,任何人都可以給我一些幫助我應該怎么做?

數據庫布局:

+---------------+---------------------+
| order_ID      | date                |
+---------------+---------------------+
|             1 | 2012-01-21 09:15:00 |
|             1 | 2012-01-21 09:15:00 |
|             2 | 2012-01-21 14:15:00 |
|             3 | 2012-01-22 10:05:00 |
|             3 | 2012-01-22 10:05:00 |
|             4 | 2012-01-22 14:25:00 |
|             5 | 2012-01-25 11:05:00 |
|             6 | 2012-01-27 16:10:00 |
|             6 | 2012-01-27 16:10:00 |
|             7 | 2012-01-27 16:10:00 |
|             8 | 2012-01-28 15:55:00 |
|             9 | 2012-01-28 16:40:00 |
|            10 | 2012-01-28 17:35:00 |
|            10 | 2012-01-28 17:35:00 |
|            10 | 2012-02-03 09:35:00 |
|            12 | 2012-02-03 10:15:00 |
|            13 | 2012-02-05 13:25:00 |
|            14 | 2012-02-05 13:45:00 |
|            15 | 2012-02-05 14:10:00 |
|            15 | 2012-02-05 14:10:00 |
|            16 | 2012-02-07 15:45:00 |
|            17 | 2012-02-11 11:50:00 |
|            18 | 2012-02-11 12:45:00 |
|            19 | 2012-02-14 09:10:00 |
|            19 | 2012-02-16 13:05:00 |
|            19 | 2012-02-16 13:05:00 |
|            20 | 2012-02-17 09:40:00 |
|            21 | 2012-02-19 14:10:00 |
|            21 | NULL                |
|            22 | 2012-02-25 10:20:00 |
|            23 | 2012-02-25 11:05:00 |
|            24 | 2012-02-25 13:35:00 |
|            25 | 2012-02-27 17:10:00 |
|            26 | 2012-03-03 09:40:00 |
|            27 | 2012-03-05 10:45:00 |
|            28 | NULL                |
|            29 | NULL                |
|            29 | NULL                |
|            29 | NULL                |
|            30 | NULL                |
|            30 | NULL                |
+---------------+---------------------+

您需要決定如何處理空值(合並到最大或最小日期值?),但這應該為您提供查詢的基本結構。

select order_id
from (
    select order_id, min(date) as mindate, max(date) as maxdate
    from tbl
    group by order_id) t
where datediff(maxdate,mindate) <= 7

暫無
暫無

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

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