sql >> データベース >  >> RDS >> Mysql

mysql-すべての日付が表示される日付間を検索

    更新:私の元の答えはQuassnoiの答えと同じでしたが、1分遅すぎたので、それを削除して、代わりに別のことをすることにしました。このクエリは、(id、date)が一意であるとは想定していません。複数のエントリがある場合は、最も安いものを選択します。また、合計コストも合計され、それも返されます。これも役立つ可能性があります。

    SELECT id, SUM(price) FROM (
        SELECT id, date, MIN(price) AS price
        FROM Table1
        GROUP BY id, date) AS T1
    WHERE `date` BETWEEN '2010-08-05' AND '2010-08-07'
    GROUP BY id
    HAVING COUNT(*) = DATEDIFF('2010-08-07','2010-08-05') + 1
    


    1. MySQL PHPのクエリに配列を渡すことにより、OR条件を動的に作成します

    2. 最も早い日付と最も遅い日付を選択します

    3. DateTime ::CreateFromFormat for PHP 5.2.14

    4. OracleのSYS_GUID()関数