我想从以下数据中获取确切的行
id name groupid
1 robert 1,2
2 henry 11,12
我的查询是
SELECT * FROM table WHERE groupid LIKE '%1%'
以上查询将返回两行 如何获得第一排?
答案 0 :(得分:4)
答案 1 :(得分:3)
假设groupid
是varchar
列,其中ids以逗号分隔列表存储,您可以尝试这样做:
select * from table where CONCAT(',',groupid,',') LIKE '%,1,%';
或更好的方法是在mysql中使用FIND_IN_SET函数:
select * from table where find_in_set(1, groupid);
答案 2 :(得分:0)
要从数据库表中获取确切行,只需指定所有字段:
SELECT *
FROM myTable
WHERE id = 1
AND name = 'robert'
AND groupid = '1,2'
或者,假设id
是唯一的主键,您可以使用它:
SELECT *
FROM myTable
WHERE id = 1
答案 3 :(得分:0)
使用LIKE'%1%'将返回包含1的所有结果。使用@lc解决方案WHERE groupid ='1,2'仅获取具有该特定ID的结果。