gpt4 book ai didi

Mysql 查询分组和限制 1 描述

转载 作者:行者123 更新时间:2023-11-29 16:41:56 26 4
gpt4 key购买 nike

表名称:用户

enter image description here

我正在尝试查询此表,以便它给我一个结果显示 - 用户名称 - 其中 - 最后批准的状态 - 按名称分组 - 有 manager_2 作为 Stan

预期结果如下图

enter image description here

类似的东西

SELECT id,name,manager_1,manager_2,department_status_fruits 
FROM users
WHERE status = --- the last approved entry for (group by Name),
if manager_2 = stan
ORDER BY id DESC
LIMIT 1


SELECT id,name,manager_1,manager_2,department_status_fruits
FROM users
WHERE manager_2 = 'stan' AND status = 'approved'
group by name
ORDER BY id DESC
LIMIT 1

我尝试的查询都没有给出预期的结果,事实上,我发现甚至很难形成一个查询来解释该请求。

我想,子查询或联接是我必须要做的,请建议,联接是我更喜欢的。

最佳答案

您需要使用一个查询来返回每个名称的最后批准的行。请参阅 SQL select only rows with max value on a column 了解执行此操作的各种方法。

然后您可以进一步过滤到 manager_2 = 'stan' 的内容。

SELECT u1.*
FROM users AS u1
JOIN (SELECT name, MAX(id) AS maxid
FROM users
WHERE status = 'approved'
GROUP BY name) AS u2 ON u1.id = u2.id
WHERE manager_2 = 'stan'
ORDER BY id DESC
LIMIT 1

关于Mysql 查询分组和限制 1 描述,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53310658/

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