Optimize tag cloud query #2

Merged
perception merged 1 commits from seger672/dss:master into master 2021-01-06 23:06:07 +00:00
+7 -6
View File
@@ -288,14 +288,15 @@ async function getCategories(db) {
async function getTagCloud(db, limit, offset=0) {
const tags = db.prepare(`
SELECT count(t.id) as c, t.name
FROM article__tag a_t
LEFT JOIN article a ON a_t.article_id = a.id
LEFT JOIN tag t ON a_t.tag_id = t.id
GROUP BY t.id
ORDER BY c DESC
SELECT name, count FROM (
SELECT tag_id, COUNT(1) AS count
FROM article__tag
GROUP BY tag_id
ORDER BY count DESC
LIMIT @limit
OFFSET @offset
)
INNER JOIN tag on tag_id = tag.id
`).all({ limit, offset })
return tags
}