本文介绍了返回列匹配集合中所有值的行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在mysql中有一个表结构:
I have a Table structure in mysql:
ID USER_ID TYPE
1 1 B
2 3 B
3 4 B
4 3 C
5 3 D
6 4 C
7 4 D
8 3 B
小提琴链接:http://sqlfiddle.com/#!2/7df38f/1一个>
我有一个要求,比如获取所有类型"为 B 和 C 的USER_ID".即我需要如下结果:
I have a requirement like get all 'USER_ID' having 'Type' as B and C.ie I need a result as below:
USER_ID
3
4
推荐答案
试试这个查询
SELECT group_concat(`type`) AS types,user_id
FROM users
WHERE `type` IN('B','C')
group by user_id
HAVING FIND_IN_SET('B',types)>0 && FIND_IN_SET('C',types)>0
SQL Fiddle http://sqlfiddle.com/#!2/8ef8e/2
SQL Fiddle http://sqlfiddle.com/#!2/8ef8e/2
这篇关于返回列匹配集合中所有值的行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!