SELECT
t.file_id
FROM
app_polly_file_labels t
WHERE
t.style = '清新'
or t.style = '甜美'
or t.style = '韩潮来袭'
GROUP BY t.file_id
HAVING count(t.file_id)=3
或者
SELECT
a.file_id
FROM
app_polly_file_labels a
INNER JOIN app_polly_file_labels b ON a.file_id = b.file_id
INNER JOIN app_polly_file_labels c ON a.file_id = c.file_id
WHERE
a.style ='清新'
AND b.style ='甜美'
AND c.style ='韩潮来袭'
扩展资料:
sql常用的复杂查询语句
一、选择指定的列
select Sno as 学号,Sname as 姓名 from student
select Sno,Sname from student
二、查询全部列
select * from student
三、对查询后的指定列进行命名
select Sname as 姓名,(2014-Sage) as 出生年 from student
select Sname ,(2014-Sage) from student
四、消除取值重复的行
select distinct Sno as 选修了课程的学生学号 from SC
select distinct Sno from SC
五、选择表中若干元组,满足条件的
select Sname as 学生姓名 from student where Sdept='IS'
参考链接:SQL语句大全
参考以下方法information_schema.columns这表保存了所有字段信息SELECT
count(*)
FROM
information_schema. COLUMNS
WHERE
TABLE_SCHEMA = 'world'
AND TABLE_NAME = 'city'
AND COLUMN_NAME = 'ID'
查询条件可以自己去修改
个人觉得有两个办法两个办法(1)最简单的,再套一层然后yy就能作为字段用了。
(2)你的最终结果就是yy=1的那个,没错吧,也就是在class表中根据class_id分组,然后count=1的那个,对吧。
那么个人觉得可以利用group by class_id having count(*)=1在student表中筛选(也就是子查询),先选出count=1的,然后再关联class_id,反正你要的也是这个结果。显示的时候直接写1就行,毕竟你查出来的就是1。这样的话,就算yy作为一个变量也没问题,只要更改count(*)=1后面的值,和语句中的1就可以了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)