我有一个表ITEMS,它有道具id,site_id,频率
到目前为止,我可以列出条目,并从id数组中按频率对它们进行排序,使用
SELECT *
FROM items
WHERE id IN(1549, 1550, 1635, 1637)
ORDER BY site_id, frequency DESC
但我想将我的结果按site_id进行分组,只有一项具有最佳(最高)频率。
我该怎么办?
编辑:我想要拥有最好频率的项目按site_id分组(site_id的一个结果)
发布于 2012-09-12 19:18:38
select i.*
from (
select site_id, max(frequency) as MaxFrequency
from item
where id in (1549, 1550, 1635, 1637)
group by site_id
) im
inner join items i on im.site_id = i.site_id and im.MaxFrequency = i.frequency
where i.id in (1549, 1550, 1635, 1637)
注意:如果每个site_id
具有相同的频率,这将为您提供多个行。
https://stackoverflow.com/questions/12394779
复制