mysql - 如何隔离查询以查找特定字段?

标签 mysql sql join sql-like

这是我正在使用的数据库:https://drive.google.com/file/d/1ArJekOQpal0JFIr1h3NXYcFVngnCNUxg/view?usp=sharing

我正在尝试创建一个查询来输出ONLY的学者(acnum) 对“数据”(描述)字段感兴趣。

我尝试过这个:

select acnum
from interest
where upper(descrip) like '%DATA%';

它部分有效,它找到对名称中包含“数据”的字段(描述)感兴趣的学者(acnum),但它还列出了除“数据”字段之外还有其他兴趣的学者(acnum),如何我是否找到对“数据”字段(描述)感兴趣的学者(acnum)?

谢谢。

最佳答案

要获取仅对“数据”字段(描述)感兴趣的学者(acnum),您可以使用以下查询和一些聚合来满足您的条件

SELECT acnum
FROM interest
GROUP BY acnum
HAVING COUNT(*) = SUM(CASE WHEN UPPER(descrip) LIKE '%DATA%' THEN 1 ELSE 0 END)

关于mysql - 如何隔离查询以查找特定字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50363403/

相关文章:

php - 更新查询在 Mysql 中不起作用,而是在此查询中插入新数据

mysql - 在 SQL 中对两个字段使用 group by 并进行计数

sql - 将记录平均分成组

mysql - 在同一查询中使用查询结果

php - 如何从Joomla类别获取数据库信息

mysql - 死锁后在 MySQL 中重新启动事务

mysql - 具有特定 ID 的行数而不按 SQL 分组

php - 我需要有关 postgresql select 查询语句的帮助

mysql - 需要在两个表之间进行 SQL 连接并需要比较多个不同的行

MySQL自连接引用另一个表