【发布时间】:2013-07-08 18:52:16
【问题描述】:
我的数据库中有一个表,我在其中存储新闻文章的类别,每次用户阅读一篇文章时,它都会增加相关列中的值。像这样:
现在我想执行一个查询,我可以在其中获取每条记录具有 4 个最高值的列名。例如,对于用户 9,它将返回:
我尝试了几件事,搜索了很多,但不知道该怎么做。谁能帮帮我?
【问题讨论】:
-
imgur 在我工作的地方被屏蔽了,你能把你的例子的文字放在问题里吗?
-
@MartinSmith:我正在使用 MySQL。
-
@Kevin:sqlfiddle.com/#!2/ff624。示例返回
userID:9 | highest value:Media | 2nd highest value:Wetenschap | 3rd highest value:Economie | 4th highest value:Sport -
这听起来像一张表会更好,每个用户每个类别都有一条记录(即,列将是
userid, category, articlecount)。然后很容易为每个用户提取 4 个最大的 articlecount 值,并打印相关的类别。