gpt4 book ai didi

mysql - 如何在mysql中按值对每个组进行条件检查

转载 作者:行者123 更新时间:2023-11-30 00:06:12 25 4
gpt4 key购买 nike

我的表格如下所示:

CREATE TABLE my_table(id INT,emp_id INT,dept_id INT,salary INT,isapproved INT,isvalid INT);

插入my_table值(value)观
(1, e1, d1, 100, 1, 1),
(2, e1, d2, 200, 0, 1),
(3, e1, d1, 300, 0, 0),
(4, e2, d1, 400, 1, 0),
(5, e3, d2, 500, 1, 1),
(6, e3, d1, 600, 1, 1),
(7, e3, d1, 700, 1, 1),
(8、e4、d3、800、1、1);


我想要什么

首先,我需要按 emp_id 检查查询组,
我得到e1,e2,e3,e4
然后检查每个emp_id条件isapproved = 1 isvalid = 1

最后我想要这个答案

emp_id
e3
e4

注意:
我需要单个查询。
请帮助我。

最佳答案

您可以对表进行自联接,然后排除任何具有未经批准或无效的匹配记录的记录。

SELECT mt.emp_id
FROM my_table mt
LEFT JOIN my_table mtx ON (mtx.emp_id = mt.emp_id AND (mtx.isapproved = 0 OR mtx.isvalid = 0))
WHERE mt.isapproved = 1 AND mt.isvalid = 1 AND mtx.id IS NULL
GROUP BY mt.emp_id

SQL Fiddle (请注意,我更改了 emp_id 和 dept_id 的类型,因为它们是整数,但具有字符串值)。

关于mysql - 如何在mysql中按值对每个组进行条件检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24527394/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com