gpt4 book ai didi

mysql - 使用两个数据库表获取最有序的包

转载 作者:行者123 更新时间:2023-11-30 21:25:47 26 4
gpt4 key购买 nike

我想获取整周订购的所有包裹的数量,并获取频率最高的包裹的 package_id,并且在我的包裹表中也有 status='active'

这些是我的数据库表

sales
+------------+------------------+
| package_id | datesales |
+------------+------------------+
| 1 | timestamp |
| 2 | timestamp |
| 1 | timestamp |
| 1 | timestamp |
| 2 | timestamp |
| 2 | timestamp |
| 3 | timestamp |
+------------+------------------+
packages
+------------+------------------+
| package_id | status |
+------------+------------------+
| 1 | inactive |
| 2 | active |
| 3 | active |
+------------+------------------+

我试过使用这个 sql,但我不太擅长聚合

SELECT count(product_id) as product_id from i.sales
where [i dunno how to put the sql for package table here]
i.date(datesales) <= curdate() and
i.date(datesales) >= curdate() - interval 6 day
group by product_id

上面的例子在 sales 表中,因为我有 3 个 package_id=1 和 3 个 package_id=2,

我想获取 package_id=2 的 ID,因为它是最高频率的订单,并且它在我的包表中具有 status='active'

最佳答案

我认为您基本上想要order bylimit 以及join:

select package_id, count(*) as cnt
from sales i join
packages p
using (package_id)
where -- i.date(i.datesales) <= curdate() and -- I doubt you have future start dates
i.datesales >= curdate() - interval 6 day and
p.status = 'active'
group by package_id
order by count(*) desc
limit 1;

Here是一个数据库<> fiddle 。

关于mysql - 使用两个数据库表获取最有序的包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59142825/

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