Mysql
 sql >> база данни >  >> RDS >> Mysql

mySQL заявка между две дати и два пъти

Не сте сигурни дали полето ви за дата е индексирано. Ако са, тогава "конкатните" примери, които са дали други, може да не се представят много добре.

Като алтернатива можете да използвате заявка от формата:

select * 
  from foo 
 where (date > lower_date and date < upper_date) -- technically this clause isn't needed if they are a day apart
    or (date = lower_date and time >= lower_time)
    or (date = upper_date and time <= upper_time)

Не е красиво, но работи и ще позволи на mysql да използва индекси в полето за дата, ако съществуват.

Така че вашата заявка би била

SELECT time,
       close 
  FROM intraday_values 
 where (date > "2005-03-01" and date < "2005-03-02")
    or (date = "2005-03-01" and time >= "15:30")
    or (date = "2005-03-02" and time <= "15:14")


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Свържете се с mysql сървър без sudo

  2. Използване на PHP DOM за създаване на XML файлове от MySQL данни

  3. EXTRACT() Примери – MySQL

  4. актуализиране на ред без изтриване на предишни стойности в mysql

  5. Временната таблица, създадена от потребителя на MySQL, е пълна