sql >> Database teknologi >  >> RDS >> PostgreSQL

Mange til mange SQL-forespørgsel til at vælge alle billeder, der er tagget med bestemte ord

Her er den arbejdsforespørgsel, jeg skrev:

SELECT i.id, i.relative_url, count(*) as number_of_tags_matched
FROM   images i
    join tags_image_relations ti on i.id = ti.image_id
    join tags t on t.id = ti.tag_id
    where t.name in ('google','microsoft','apple')
    group by i.id having count(i.id) <= 3
    order by count(i.id)

Denne forespørgsel vil først vise billederne, der matcher alle tre tags, derefter billederne, der matcher mindst 2 af de 3 tags, til sidst mindst 1 tags.



  1. Hvorfor returnerer postgres' øvre områdefunktion for en daterange en eksklusiv grænse?

  2. Brug af tråde til at lave databaseanmodninger

  3. Returner det sprog, der bruges til dato- og tidsfunktioner i MariaDB

  4. hvis tabellen ikke eksisterer, udfør en lang forespørgsel