gpt4 book ai didi

php - 仅获取表中重复项的最小值

转载 作者:行者123 更新时间:2023-11-29 18:42:39 25 4
gpt4 key购买 nike

我有以下 SQL:

set @arbitraryMin = 'two weeks ago';
set @myDesiredMinimumTime = 'thisMorning';

select distinct order, box from db.table
where scantime >= @arbitraryMin
having min(scantime) >= @myDesiredMinimumTime

本质上,我们有一个系统,可以对不同的盒子/订单组合进行多次扫描。我只想获得最小扫描时间 >= @myDesiredMinimumTime 的那些。上面的查询返回两列,其中没有值。我可以使用子查询来完成此操作,但我想知道是否有一种方法可以在不使用子查询的情况下完成此操作。

我不是 SQL 专家,所以我感谢任何帮助。表格示例(格式抱歉):

扫描时间|订单|框

2017-06-29 12:34:56 | 123456 | 123

2107-06-29 12:12:12 | 123456 | 124

2017-06-28 14:50:00 | 123456 | 123

请注意第 1 行和第 3 行不同日期的两个重复的订单/盒子组合。如果我使用 @ ArbitaryMin = '2017-06-28 00:00:00' 和 @myDesiredMinimumTime = '2017-06- 输入查询29 00:00:00',我只想获取最后两行,因为顶部一行是在不同时间进行的重复扫描。

谢谢

最佳答案

这是一个无效的 SQL。如果没有 GROUP BY,则不能有 HAVING 子句。所以下面的行是错误的

having min(scantime) >= @myDesiredMinimumTime

您应该仅将该条件放在 WHERE 子句中

where scantime >= @arbitraryMin
and (select min(scantime) from db.table) >= @myDesiredMinimumTime

关于php - 仅获取表中重复项的最小值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44848746/

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