Mysql
 sql >> Datenbank >  >> RDS >> Mysql

mysql - Suche zwischen Daten, wo alle Daten erscheinen

Update:Meine ursprüngliche Antwort war identisch mit der von Quassnoi, aber 1 Minute zu spät, also habe ich beschlossen, sie zu löschen und stattdessen etwas anderes zu tun. Diese Abfrage geht nicht davon aus, dass (ID, Datum) eindeutig ist. Bei mehreren Einträgen wird der günstigste ausgewählt. Außerdem summiert es die Gesamtkosten und gibt auch das zurück, was ebenfalls nützlich sein könnte.

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