首页 > 解决方案 > Mysql select查询说明

问题描述

我对以下查询有疑问,请帮助我解决这个问题,

SELECT * FROM test 
WHERE (field_id  = 87 and value in ("xxxx")) AND (field_id = 88 and value in ("R"))

这导致空行,如何编写此查询我想使用“AND”条件匹配 id 和 value

我的表有值:

在此处输入图像描述

标签: mysql

解决方案


我怀疑你在这里想要的是所有符合这两个条件的学生。一种方法是按学生汇总,然后断言条件:

SELECT student_id
FROM yourTable
GROUP BY student_id
HAVING
    SUM((field_id, value) = (87, 'xxxx')) > 0 AND
    SUM((field_id, value) = (88, 'R')) > 0;

演示


推荐阅读