[英]SQL writing custom query
我需要编写一个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
)
reading_counts
( Group By
with Max()
) user
和reading_counts
上的主表,即可获得与用户的最大reading_counts
对应的行。 请尝试以下查询:
SELECT
t1.*
FROM mytable AS t1
JOIN
(
SELECT t2.user,
MAX(t2.reading_counts) AS max_count
FROM mytable AS t2
GROUP BY t2.user
) AS dt
ON dt.user = t1.user AND
dt.max_count = t1.reading_counts
SELECT *
FROM mytable
WHERE user IN
(SELECT user, max(reading_counts)
FROM mytable
GROUP BY user)
问题未解决?试试以下方法:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.