mysql,团购表 team_found
开团ID | 商品ID | 团开始时间 | 团结束时间 | 商品名称 |
---|---|---|---|---|
2 | 1 | 2021-3-23 11:00:00 | 2021-3-23 11:30:00 | 猪 |
3 | 2 | 2021-3-23 12:00:00 | 2021-3-23 12:30:00 | 狗 |
4 | 4 | 2021-3-23 14:00:00 | 2021-3-23 14:30:00 | 猫 |
5 | 6 | 2021-3-23 16:00:00 | 2021-3-23 16:30:00 | 鼠 |
6 | 7 | 2021-3-23 16:00:00 | 2021-3-23 16:30:00 | 龙 |
11 | 7 | 2021-3-23 16:00:00 | 2021-3-23 16:30:00 | 龙 |
12 | 4 | 2021-3-23 19:00:00 | 2021-3-23 19:30:00 | 猫 |
13 | 5 | 2021-3-23 20:00:00 | 2021-3-23 20:30:00 | 蛇 |
14 | 3 | 2021-3-23 21:00:00 | 2021-3-23 21:30:00 | 牛 |
15 | 8 | 2021-3-24 11:00:00 | 2021-3-24 11:30:00 | 兔 |
16 | 8 | 2021-3-24 11:00:00 | 2021-3-24 11:30:00 | 兔 |
怎样查询出,整点的,未开始拼团的,或者正在拼团的数据。
比如:现在是2021-3-23 10:21:30,查询后,显示出来的是,开团ID=2,猪,这一条数据。
开团ID | 商品ID | 团开始时间 | 团结束时间 | 商品名称 |
---|---|---|---|---|
2 | 1 | 2021-3-23 11:00:00 | 2021-3-23 11:30:00 | 猪 |
猪是距离当前时间最近的,还未开始的,一条数据,所以显示出来,其他不显示了。
如果现在是 2021-3-23 12:05:05 ,那么查出来是, 开团ID=3,狗,这一条数据。
开团ID | 商品ID | 团开始时间 | 团结束时间 | 商品名称 |
---|---|---|---|---|
3 | 2 | 2021-3-23 12:00:00 | 2021-3-23 12:30:00 | 狗 |
为什么不是id=4的猫,而是id=3的狗,因为狗的拼团结束时间还未到,还没结束。所以显示狗
如果现在是 2021-3-23 21:31:00 ,那么查出来是.
开团ID | 商品ID | 团开始时间 | 团结束时间 | 商品名称 |
---|---|---|---|---|
15 | 8 | 2021-3-24 11:00:00 | 2021-3-24 11:30:00 | 兔 |
16 | 8 | 2021-3-24 11:00:00 | 2021-3-24 11:30:00 | 兔 |
23号的牛已过结束时间,所以显示24号,id=15,16的 兔。
这种sql能直接查出来吗?没啥思路,感觉sql不能直接查出这种混合结果。总是显示,未开始,或者正在进行的。
数据库结构,是不是还少了点什么。
大概总意思就是一句话,如果正在进行的团购表,没有数据,那么就显示距离当前时间最近的未开始的。
我理解的你的意思如下
team_found
表数据测试: 正在进行的团购
测试: 即将到来的团购