gpt4 book ai didi

mysql - MYSQL中按营业时间对商店进行排序

转载 作者:行者123 更新时间:2023-11-29 15:27:16 24 4
gpt4 key购买 nike

我的 mySQL 数据库中有一个表,如下所示:

id | shop_id | day | open | close
---------------------------------
1 | 1 | 1 | 8 | 18
---------------------------------
2 | 100 | 2 | 9 | 17
---------------------------------
3 | 200 | 1 | 8 | 16
---------------------------------
4 | 220 | 4 | 10 | 17

等等,其中day是1-7之间的int,我想制作一个SELECT,它按当前开设的商店对我的结果进行排序基于当前时间。此查询将分页,因此选择所有行并在 PHP 中对其进行排序的想法不是正确的方法。有没有办法这样查询:

当前时间是 15:00,查询应返回 1、3、2、4 等顺序,或者如果时间是 17:00,则返回 1、2、4、3。首先获取今天开业的商店,然后是明天,依此类推...

最佳答案

使用 lpad()concat() 为列 openclose 生成可比较的时间,并且然后像这样排序:

set @time1 = '15:00';
select *
from tablename
order by
@time1 not between concat(lpad(open, 2, '0'), ':00') and concat(lpad(close, 2, '0'), ':00'),
lpad(open, 2, '0'),
id

请参阅demo .

关于mysql - MYSQL中按营业时间对商店进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58997367/

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