gpt4 book ai didi

mysql - 根据总和排序

转载 作者:行者123 更新时间:2023-11-29 08:39:02 26 4
gpt4 key购买 nike

我有三个 mysql 表:文章、类别和标签。

我想要获取链接到文章的所有类别和标签的列表,并按每个类别和标 checkout 现的次数对它们进行排序。

文章表包含以下列:article_id 和 name

类别和标签表具有以下列:article_id 和 tid。

最终我正在寻找潮汐。

以下是表格的示例:

ARTICLES
article_id name
1 Article 1
2 Article 2
3 Article 3
4 Article 4

CATEGORIES
article_id tid
1 100
2 100
3 100
4 101

TAGS
article_id tid
1 200
2 200
3 200
4 200
3 201
4 201

我希望看到的是:

RESULTS
tid count
200 4
100 3
201 2
101 1

因为tid 200使用了4次,tid 100使用了3次,tid 201使用了2次,tid 101使用了1次。

还有想法吗?

最佳答案

假设您在类别标签中永远不会有相同的tid,这将起作用

SELECT a.tid, a.count
FROM
(SELECT tid, COUNT(article_id) AS count
FROM categories
GROUP BY tid
UNION ALL
SELECT tid, COUNT(article_id) AS count
FROM tags
GROUP BY tid) a
ORDER BY a.count DESC

See the demo

如果您可能有重复项,请使用此:

SELECT a.tid, COUNT(article_id) AS count
FROM
(SELECT tid, article_id
FROM categories
UNION ALL
SELECT tid, article_id
FROM tags) a
GROUP BY a.tid
ORDER BY COUNT(article_id) DESC

See the demo

结果

| TID | COUNT |---------------| 200 |     4 || 100 |     3 || 201 |     2 || 101 |     1 |

关于mysql - 根据总和排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14385669/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com