sql >> Database >  >> RDS >> Mysql

mysql - zoek tussen datums waar alle datums verschijnen

Update:mijn oorspronkelijke antwoord was identiek aan dat van Quassnoi, maar 1 minuut te laat, dus besloot ik het te verwijderen en in plaats daarvan iets anders te doen. Deze zoekopdracht gaat er niet van uit dat (id, datum) uniek is. Als er meer dan één item is, selecteert het de goedkoopste. Het telt ook de totale kosten op en geeft dat ook terug wat ook nuttig kan zijn.

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. Hoe databasehelper-klasse te gebruiken in een asynctask-klasse die aan een andere klasse werkt?

  2. Hoe schrijf je een null safe Compare <=> in pure SQL?

  3. Tabelindexen instellen in databases

  4. wijs alle while-resultaten toe aan een variabele