1

私はこのようなテーブルを持っています:

-------------------------------
| id | valid_until |  username|
-------------------------------
| 1  | 2020-01-01  |   user1  |
-------------------------------  
| 1  | 2020-01-01  |   user2  |
-------------------------------  
| 1  | 2020-01-02  |   user3  |
-------------------------------  
| 1  | 2020-01-02  |   user4  |
-------------------------------  
| 1  | 2020-01-03  |   user5  |
-------------------------------  
| 1  | 2020-01-03  |   user6  |
-------------------------------  
| 1  | 2020-01-03  |   user7  |
-------------------------------  

これはユーザー サブスクリプション テーブルでvalid_until、サブスクリプションがいつ終了するかを示します。

毎日のアクティブなサブスクリプションを知りたいので、2020-01-01TO2020-01-03などの範囲があり、ここに私のクエリがあります:

SELECT 
    valid_until qva,
    (SELECT 
            COUNT(iod.id) AS ct
        FROM
            `order_detail` iod
        WHERE
            valid_until > qva)
FROM
    `order_detail`
WHERE
    valid_until >= '2020-01-01'
        AND valid_until <= '2020-01-03'
GROUP BY qva

しかし、このクエリは遅すぎます。私のクエリの問題は何ですか? 応答時間 (230 秒)

4

2 に答える 2