PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Zapytanie SQL „od wielu do wielu” umożliwiające wybranie wszystkich obrazów oznaczonych określonymi słowami

Oto działające zapytanie, które napisałem:

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)

To zapytanie najpierw pokaże obrazy pasujące do wszystkich trzech tagów, następnie obrazy pasujące do co najmniej 2 z 3 tagów, a na końcu co najmniej 1 tag.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Uzyskaj token dostępu do połączenia z PostgreSQL w Azure Functions

  2. Zastąp ciąg innym ciągiem z listy w zależności od wartości

  3. Konwertuj ciąg szesnastkowy na bigint w Postgresie

  4. Postgresql SQL GROUP BY interwał czasowy z dowolną dokładnością (do milisekund)

  5. Wyzwalacz PostgreSQL nic nie zwraca