我需要编写一个sql查询,为每个用户生成最流行故事的名称(根据总阅读次数)。以下是一些示例数据:
story_name | user | age | reading_counts
-----------|-------|-----|---------------
story 1 | user1 | 4 | 12
story 2 | user2 | 6 | 14
story 4 | user1 | 4 | 15
这是我目前掌握的情况,但我不认为这是正确的:
Select *
From mytable
where (story_name,reading_counts)
IN (Select id, Max(reading_counts)
FROM mytable
Group BY user
)
2条答案
按热度按时间jw5wzhpr1#
imzjd6km2#
在派生表中,可以首先确定最大值
reading_counts
对于每个用户(Group By
与Max()
)现在,只需将这个结果集连接到
user
以及reading_counts
,以获取最大值对应的行reading_counts
对于用户。尝试以下查询: