我试图在postgresql表中找到最频繁的值。问题是我也想在该表中“分组”,并且只从具有相同名称的值中获得最多频率。 所以我有以下查询:在嵌套查询中获取按属性分组
select name,
(SELECT value FROM table where name=name GROUP BY value ORDER BY COUNT(*) DESC limit 1)
as mfq from table group by name;
所以,我使用where name=name
,试图通过属性来获得外部组“名字”,但它似乎并没有工作。任何想法如何做到这一点?
编辑:例如,如下表所示:
name value
a 3
a 3
a 3
b 2
b 2
我想:
name value
a 3
b 2
,但上面的语句让:
name value
a 3
b 3
代替,因为在那里没有按工作不正常。
您能否提供样本数据和预期结果?你的解释很难遵循。 –