Let’s say I have the following tables:
TAGS
id: integer
name: string
POSTS
id: integer
body: text
TAGGINGS
id: integer
tag_id: integer
post_id: integer
How would I go about writing a query that selects all posts in order of the post containing the highest number of the following tags (name attribute of tags table): "Cheese", "Wine", "Paris", "Frace", "City", "Scenic", "Art"
See also: Sql query to find things tagged with all specified tags (note: similar, but not a duplicate!)
Unlike your linked question, you did not specify here that you needed to match ALL tags. This query works for ANY.