mysql中一个字段同时满足多个条件,(3个以上)

mysql中一个字段同时满足多个条件,(3个以上),第1张

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就可以了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/8538043.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-17
下一篇 2023-04-17

发表评论

登录后才能评论

评论列表(0条)

保存