Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Antara pernyataan indeks yang hilang dalam kasus-kasus tertentu

Jika kueri seperti itu akan mengembalikan maksimum satu baris, ini berarti (sATON, eATON) rentang tidak tumpang tindih.

Oleh karena itu, dan hanya jika rentangnya tidak tumpang tindih, Anda dapat menggunakan kueri ini sebagai gantinya:

SELECT * 
FROM data2 
WHERE sATON = 
      ( SELECT MAX(sATON)
        FROM data2 
        WHERE sATON <= 1112203488
      )
  AND eATON = 
      ( SELECT MIN(eATON)
        FROM data2 
        WHERE eATON >= 1112203488
      )

atau bahkan ini (yang hanya perlu menggunakan satu indeks, sATON satu):

SELECT * 
FROM data2 
WHERE sATON = 
      ( SELECT MAX(sATON)
        FROM data2 
        WHERE sATON <= 1112203488
      )
  AND eATON >= 1112203488


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Koneksi tanpa DSN ke server mysql di ms-access tidak mengingat nama pengguna dan kata sandi

  2. Menggunakan PHP untuk mengunggah gambar ke folder sambil menyimpan deskripsi ke database

  3. PHP:Peringatan:sort() mengharapkan parameter 1 menjadi array, sumber daya diberikan

  4. MySQL #1243 Handler pernyataan yang disiapkan tidak diketahui (stmt) diberikan kepada EXECUTE

  5. Dalam kueri MySQL, mengapa menggunakan join alih-alih di mana?