大佬教程收集整理的这篇文章主要介绍了SQLite - 根据标签选择帖子,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我的数据库中有两个表:posts,其中包含 post ID 和其他信息,以及标签。在标签中,有一个 post_ID 列和一个列标签。我的想法是将每个标签存储在单独的行中。例如,一个 ID 为 1 且标签为 foo、bar 和鸡蛋的帖子将存储在标签中为
post_ID | tag
---------------
1 | foo
1 | bar
1 | eggs
从数据库中获取带有这三个标签的帖子 ID 的最简单方法是什么? 提前致谢!
您需要聚合。
如果您想要具有这 3 个标签而没有其他标签的 post_id
:
SELECT post_id
FROM tags
GROUP BY post_id
HAVING SUM(tag IN ('foo','bar','eggs')) = 3 -- or COUNT(*) = 3
AND SUM(tag NOT IN ('foo','eggs')) = 0
如果您想要 post_id
具有这 3 个标签以及可能还有其他标签,那么就更简单了:
SELECT post_id
FROM tags
WHERE tag IN ('foo','eggs')
GROUP BY post_id
HAVING COUNT(*) = 3
我假设 post_id
和 tag
的每个组合都是唯一的。
以上是大佬教程为你收集整理的SQLite - 根据标签选择帖子全部内容,希望文章能够帮你解决SQLite - 根据标签选择帖子所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。