mysql数据库内部联接后如何选择具有重复整数的列

超世纪谍杀案

我有一个包含3个表的数据库

具有以下字段的文章:id:int名称:varchar(255)文本:text

带有以下字段的标签:id:int名称:varchar(255))

具有以下字段的article_tag:id:int article_id:int(外键=> article.id)tag_id:int(外键=> tag.id)

我希望能够查找与多个标签关联的文章。

如果我做:

SELECT article.name FROM article 
JOIN article_tag ON article.id = article_tag.article_id
JOIN tag  ON tag.id = article_tag.tag_id
WHERE tag.name  IN ('science', 'technology', ... );

我取回每篇文章*(它具有标签的数量);这是预期的。

我的问题:有没有一种方法可以对其进行优化,以使其以article.id的出现频率降序排列(其效果是与列表中的匹配度越高,所请求的标签越多),或使其仅返回记录与所有标签匹配的标签(结果中出现的次数=标签的数量)。

谢谢,很抱歉,这个问题的格式没有更好

埃德·吉布斯

如果我正确理解了这个问题,这应该可以解决问题:

SELECT
  article.id,
  article.name,
  COUNT(*) AS TagCount
FROM article
JOIN article_tag ON article.id = article_tag.article_id
JOIN tag  ON tag.id = article_tag.tag_id
WHERE tag.name  IN ('science', 'technology', ... )
GROUP BY
  article.id,
  article.name
ORDER BY
  TagCount DESC

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

瓶塞登录后如何“原位”加载MongoDB数据库内容?

来自分类Dev

在MYSQL数据库PHP中选择重复的列

来自分类Dev

我应该使用哪种数据类型在MySQL数据库内部存储美国?

来自分类Dev

使用php pdo从mysql数据库内部获取数据以进行循环

来自分类Dev

如何使函数具有库内部链接?

来自分类Dev

数据库内部:外键约束的实现

来自分类Dev

如何优化具有两个不同内部联接的Mysql查询?(InnoDB的)

来自分类Dev

在codeigniter中发现数据库内部重复数据后显示提示

来自分类Dev

Mysql:如何查找具有左联接的非重复行?

来自分类Dev

在具有内部联接的LINQ查询中选择最近的日期

来自分类Dev

具有外部脚本执行功能的T-SQL,用于数据库内R集成

来自分类Dev

如果有两个具有相同名称的列,如何在左联接中选择一个列?[MySQL]

来自分类Dev

如何从包含小数的列中选择具有整数的行

来自分类Dev

具有日期范围列的内部联接熊猫数据框

来自分类Dev

是否可以选择具有重复数据的Spark内部表列值

来自分类Dev

从具有内部联接的表中选择不同的行

来自分类Dev

使用contains进行的全文本搜索显示具有相同数据库内容的不同结果

来自分类Dev

在MYSQL数据库PHP中选择重复的列

来自分类Dev

MySQL查询从具有内部联接,别名的两个表中获取数据

来自分类Dev

如何使用MYSQL在一个单词后获取所有具有大写字母的数据库

来自分类Dev

SQL查询-具有内部联接的不同数据库

来自分类Dev

数据库内部:可变大小字段如何处理?

来自分类Dev

内部联接后无法在MySQL中求和新数据

来自分类Dev

MySQL从表中选择数据并内部联接来自另外两个相同表的所有选择

来自分类Dev

如何从ftp找到数据库内容?

来自分类Dev

如何使用MySQL在数据库中选择多个具有相同ID(或任何变量)的行?

来自分类Dev

如何选择数据库的所有表mySql并按数据显示查询顺序,表具有相同的结构

来自分类Dev

SQL Server 在具有不同 SQL 身份验证凭据的 2 个数据库上使用内部联接

来自分类Dev

unity Firebase 实时数据库内部异常

Related 相关文章

  1. 1

    瓶塞登录后如何“原位”加载MongoDB数据库内容?

  2. 2

    在MYSQL数据库PHP中选择重复的列

  3. 3

    我应该使用哪种数据类型在MySQL数据库内部存储美国?

  4. 4

    使用php pdo从mysql数据库内部获取数据以进行循环

  5. 5

    如何使函数具有库内部链接?

  6. 6

    数据库内部:外键约束的实现

  7. 7

    如何优化具有两个不同内部联接的Mysql查询?(InnoDB的)

  8. 8

    在codeigniter中发现数据库内部重复数据后显示提示

  9. 9

    Mysql:如何查找具有左联接的非重复行?

  10. 10

    在具有内部联接的LINQ查询中选择最近的日期

  11. 11

    具有外部脚本执行功能的T-SQL,用于数据库内R集成

  12. 12

    如果有两个具有相同名称的列,如何在左联接中选择一个列?[MySQL]

  13. 13

    如何从包含小数的列中选择具有整数的行

  14. 14

    具有日期范围列的内部联接熊猫数据框

  15. 15

    是否可以选择具有重复数据的Spark内部表列值

  16. 16

    从具有内部联接的表中选择不同的行

  17. 17

    使用contains进行的全文本搜索显示具有相同数据库内容的不同结果

  18. 18

    在MYSQL数据库PHP中选择重复的列

  19. 19

    MySQL查询从具有内部联接,别名的两个表中获取数据

  20. 20

    如何使用MYSQL在一个单词后获取所有具有大写字母的数据库

  21. 21

    SQL查询-具有内部联接的不同数据库

  22. 22

    数据库内部:可变大小字段如何处理?

  23. 23

    内部联接后无法在MySQL中求和新数据

  24. 24

    MySQL从表中选择数据并内部联接来自另外两个相同表的所有选择

  25. 25

    如何从ftp找到数据库内容?

  26. 26

    如何使用MySQL在数据库中选择多个具有相同ID(或任何变量)的行?

  27. 27

    如何选择数据库的所有表mySql并按数据显示查询顺序,表具有相同的结构

  28. 28

    SQL Server 在具有不同 SQL 身份验证凭据的 2 个数据库上使用内部联接

  29. 29

    unity Firebase 实时数据库内部异常

热门标签

归档