gpt4 book ai didi

mysql - 从分组(?)sql查询的第一个排序成员中获取值

转载 作者:行者123 更新时间:2023-11-29 04:17:14 25 4
gpt4 key购买 nike

我觉得这很明显,但我很挣扎。一定是因为今天是星期一。

我在 MySQL 中有一个 licenses 表,其中包含字段 id (int)start_date (date)licensable_id (int )licensable_type(字符串)fixed_end_point( bool 值)

我想获取所有开始日期等于或小于今天的许可证,按licensable_id 和 licensable_type 对它们进行分组,然后获取最最近开始的一个所以我可以从中获取 fixed_end_point 字段,以及 licensable_idlicensable_type

这就是我正在尝试的:

SELECT licensable_id, licensable_type, fixed_end_point
FROM licenses
WHERE start_date <= "2016-08-01"
GROUP BY licensable_id, licensable_type
ORDER BY start_date desc;

目前,ORDER BY 字段似乎被忽略了,它只是返回每个组的第一个许可证的值,而不是最近的。谁能看到我做错了什么?我需要进行嵌套查询吗?

最佳答案

您不应该将其视为分组依据。考虑到问题中的限制,您想为每个许可证选择最近的 start_date。一种方法使用相关子查询:

select l.*
from licenses l
where l.start_date = (select max(l2.start_date)
from licenses l2
where l2.licensable_id = l.licensable_id and
l2.licensable_type = l.licensable_type and
l2.start_date <= '2016-08-01'
);

关于mysql - 从分组(?)sql查询的第一个排序成员中获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38698027/

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