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

Много към много SQL заявка за избор на всички изображения, маркирани с определени думи

Ето работната заявка, която написах:

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)

Тази заявка първо ще покаже изображенията, съответстващи на всичките три маркера, след това изображенията, съответстващи на поне 2 от 3-те маркера, накрая поне 1 маркер.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ClassCastException:Цяло число не може да бъде прехвърлено към Long, докато се опитвате да повторите идентификаторите на обекти

  2. Проблем с accepts_nested_attributes_for в Rails 5.0.0.beta3, -api опция

  3. Получаване на име на текущата функция вътре във функцията с plpgsql

  4. Как да имате персонализиран ред на сортиране за обединена заявка в Postgres

  5. Грешка при свързване към heroku postgres db в nodejs