Mysql
 sql >> Base de données >  >> RDS >> Mysql

mysql - recherche entre les dates où toutes les dates apparaissent

Mise à jour :ma réponse d'origine était identique à celle de Quassnoi mais 1 minute trop tard, j'ai donc décidé de la supprimer et de faire quelque chose de différent à la place. Cette requête ne suppose pas que (id, date) est unique. S'il y a plus d'une entrée, il sélectionne la moins chère. En outre, il additionne également le coût total et le renvoie également, ce qui pourrait également être utile.

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