首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Mysql:如何选择具有特定值的分组?

Mysql:如何选择具有特定值的分组?
EN

Stack Overflow用户
提问于 2010-06-21 17:24:25
回答 6查看 17.1K关注 0票数 8

假设有这样一张表:

代码语言:javascript
运行
复制
mysql> SELECT * FROM tags;
+---------+--------+
| post_id | tag_id |
+---------+--------+
|       1 |      2 |
|       1 |      3 |
|       1 |      1 |
|       2 |      1 |
|       2 |      2 |
+---------+--------+
5 rows in set (0.00 sec)

字段名称非常简单明了。我希望选择既有1个tag_id又有3个1post_id,因此在本例中它只有1。在我想列出这个组中存在的tag_id之后,我想到了像SELECT post_id FROM tags GROUP BY post_id HAVING ...这样的东西。我该怎么做?

EN

Stack Overflow用户

发布于 2010-06-21 17:44:29

代码语言:javascript
运行
复制
SELECT post_id
  FROM ( SELECT post_id,
                count(tag_id) AS counter
           FROM tags
          WHERE tag_id IN (1,3)
          GROUP BY post_id
       )
 WHERE counter = 2

对问题的第二部分使用GROUP_CONCAT()

代码语言:javascript
运行
复制
SELECT post_id,
       GROUP_CONCAT(tag_id ORDER BY tag_id ASC SEPARATOR ',')
  FROM tags
票数 2
EN
查看全部 6 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3083409

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档