sql >> Database teknologi >  >> RDS >> Mysql

Hvordan konverterer man afhængig underforespørgsel til at deltage for bedre ydeevne?

Prøv denne forespørgsel først -

SELECT
  t.*, ti1.*
FROM
  themes t
JOIN theme_images ti1
  ON ti1.theme_id = t.theme_id
JOIN (SELECT theme_id, MIN(image_id) image_id FROM theme_images GROUP BY theme_id) ti2
  ON ti1.theme_id = ti2.theme_id AND ti1.image_id = ti2.image_id
ORDER BY 
  t.theme_date_last_modification DESC
LIMIT 10

Endnu en løsning -

SELECT
  t.*, ti.*
FROM
  themes t
JOIN (SELECT * FROM theme_images ORDER BY image_id) ti
  ON ti.theme_id = t.theme_id
GROUP BY
  theme_id 
ORDER BY 
  t.theme_date_last_modification DESC
LIMIT
  10

Tilføj derefter dit WHERE-filter.



  1. 3 måder at sikkerhedskopiere en SQLite-database på

  2. Hvordan kan jeg lave en batch-indsættelse i en Oracle-database ved hjælp af Python?

  3. Vælge værdier, der opfylder forskellige betingelser på forskellige rækker?

  4. Sådan får du størrelsen på kolonnen i mysql-tabel