sql查询字段中所有等于某些值的数据

2025-02-27 13:09:39
推荐回答(2个)
回答1:

不知道这样可以不,看你的数据库应该是mysql

创建表插入数据

create table test
(channel_id int,
app_id varchar(10));


insert into test values (1,'a001');
insert into test values (2,'a001');
insert into test values (2,'a002');
insert into test values (3,'a002');
insert into test values (4,'a002');
insert into test values (3,'a003');
insert into test values (4,'a003');
insert into test values (5,'a003');
insert into test values (6,'a003');
insert into test values (7,'a004');

执行:

SELECT
app_id,
group_concat(channel_id)
FROM
test
WHERE
channel_id IN (1, 2, 3, 4, 5, 6, 7)
GROUP BY
app_id

结果:

看结果的话,就能看出每个app_id对应了哪些channel_id了,然后想筛选多个的话,直接嵌套一层,然后like '%,%'就可。

回答2:

select * from table where app_id in(前台传的参数)