gpt4 book ai didi

使用 IN 的 MySQL LIMIT 和 GROUP BY?

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

我有一个表 ITEMS,其中包含 props id、site_id、frequency

到目前为止,我可以使用 id 数组列出项目并按频率对它们进行排序

SELECT * 
FROM items
WHERE id IN(1549, 1550, 1635, 1637)
ORDER BY site_id, frequency DESC

但我想按 site_id 对我的结果进行分组,其中只有一个具有最佳(最高)频率的项目..

我该怎么做?

编辑:我希望将频率最高的项目按 site_id 分组(一个结果按 site_id)

最佳答案

在没有看到数据类型或示例数据的情况下,听起来您想要这样:

选择 id, site_id, max(frequency)
来自元素
其中 ID 在(1549、1550、1635、1637)
按 id、site_id 分组
ORDER BY site_id,频率 DESC

或者您可以使用子查询:

select i1.id, i1.site_id, i1.frequency
from items i1
inner join
(
select site_id, max(frequency) mx
from items
WHERE id IN(1549, 1550, 1635, 1637)
group by site_id
) i2
on i1.site_id = i2.site_id
and i1.frequency = i2.mx
WHERE i1.id IN(1549, 1550, 1635, 1637)

关于使用 IN 的 MySQL LIMIT 和 GROUP BY?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12394779/

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