您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

MySQL查询查找一列满足多个条件的ID

MySQL查询查找一列满足多个条件的ID

SELECT ID, TYPE FROM types NATURAL JOIN ( SELECT ID FROM types GROUP BY ID HAVING SUM(COLOR=’Red’) AND SUM(COLOR=’Blue’) ) t WHERE COLOR IN (‘Red’, ‘Blue’)

sqlfiddle上看到它。

另外,如果您很乐意将类型连接成一个定界的字符串,则可以通过一次传递来提取所需的数据:

SELECT   ID, GROUP_CONCAT(TYPE)
FROM     types
WHERE    COLOR IN ('Red', 'Blue')
GROUP BY ID
HAVING   COUNT(*) = 2

sqlfiddle上看到它。

请注意,如果您的表可能包含多个具有相同(ID, COLOR)对的记录,则应替换COUNT(*)为更昂贵的COUNT(DISTINCTCOLOR)

MySQL 2022/1/1 18:46:53 有278人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶