我有以下表格架构
id name type
1 ABC 1,2,3,4
2 PQR 2,3,5
3 XYZ 1,4
4 TCS 3,1
5 PPP 2,3
这里我想得到如下的显示,即类型为1和4 结果: -
id name type
1 ABC 1,2,3,4
3 XYZ 1,4
4 TCS 3,1
答案 0 :(得分:5)
您可以使用FIND_IN_SET()
功能:
如果字符串 str 在字符串列表中,则返回1到 N 范围内的值 strlist 由N个子串组成。字符串列表是由子串组成的字符串,由“,”字符分隔 如果 str 不在 strlist 或 返回0 > strlist 是空字符串。
SELECT * FROM Table1
WHERE
FIND_IN_SET(1, type)
OR FIND_IN_SET(4, type)
输出:
╔════╦══════╦═════════╗
║ ID ║ NAME ║ TYPE ║
╠════╬══════╬═════════╣
║ 1 ║ ABC ║ 1,2,3,4 ║
║ 3 ║ XYZ ║ 1,4 ║
║ 4 ║ TCS ║ 3,1 ║
╚════╩══════╩═════════╝
答案 1 :(得分:0)
尝试检查所有条件,例如
select * from table where
type like '1' OR type like '4'
OR type like '1,%' OR type like '4,%'
OR type like '%,1' OR type like '%,4'
OR type like '%,1,%' OR type like '%,4,%'
答案 2 :(得分:-2)
SELECT * FROM user_master WHERE TYPE LIKE'%4%'或TYPE LIKE'%1%'