sql >> Databasteknik >  >> RDS >> PostgreSQL

Många till många SQL-fråga för att välja alla bilder taggade med vissa ord

Här är arbetsfrågan jag 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)

Den här frågan visar först bilderna som matchar alla tre taggarna, sedan bilderna som matchar minst två av de tre taggarna, slutligen minst en tagg.



  1. Det går inte att skapa en rad med storlek 8937 som är större än det tillåtna maxvärdet på 8060

  2. Hur lagrar man summan av en rads multipla kolumn på samma tabells samma rads en annan kolumn?

  3. Oracle Conditional where-klausul

  4. Hur man får de senaste funktionerna i Office 365