Mysql
 sql >> Baza danych >  >> RDS >> Mysql

mysql - wyszukiwanie między datami, w których pojawiają się wszystkie daty

Aktualizacja:moja pierwotna odpowiedź była identyczna z odpowiedzią Quassnoi, ale o minutę spóźniona, więc postanowiłem ją usunąć i zamiast tego zrobić coś innego. To zapytanie nie zakłada, że ​​(id, data) jest unikatowe. Jeśli jest więcej niż jeden wpis, wybiera najtańszy. Ponadto sumuje również całkowity koszt i zwraca to, co również może być przydatne.

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak zmienić uprawnienia tylko do odczytu, aby ustawić nową wartość zmiennej systemowej serwera MySQL?

  2. GROUP_CONCAT z JOINLEFT w Zend Db Select

  3. MySQL SELECT LAST_INSERT_ID() dla klucza złożonego. Czy to możliwe?

  4. Dlaczego password_verify zwraca wartość false?

  5. Porównanie rozwiązań do replikacji Oracle i MySQL