首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对十大查询进行排序

对十大查询进行排序
EN

Stack Overflow用户
提问于 2011-05-10 23:13:27
回答 3查看 118关注 0票数 0

感谢您的阅读。

我正在尝试编写一个查询,使用两个表列出获得最多选票的人的名字:

代码语言:javascript
复制
-------
votes
-------
vote_id, giver_user_id, receiver_user_id, datetime

等等。

代码语言:javascript
复制
-------
users
-------

user_id, name, surname

等等。

到目前为止,我有:

代码语言:javascript
复制
$top_query = "SELECT * FROM vote, user WHERE vote.receiver_user_id = user.user_id GROUP BY receiver_user_id  ";

这种方法是可行的,但它不会在列表的顶部列出投票最多的用户。

我怎么能这样点菜呢?

谢谢。

操作

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-05-10 23:19:00

代码语言:javascript
复制
SELECT  u.*, COUNT(vote_id) AS votes_count
FROM    users u
LEFT JOIN
        votes v
ON      v.receiver_user_id = u.user_id
GROUP BY
        u.user_id
ORDER BY
        votes_count DESC
票数 4
EN

Stack Overflow用户

发布于 2011-05-10 23:19:19

可以使用ORDER BY子句。关键字"asc“或"desc”

类似于:

代码语言:javascript
复制
ORDER BY vote_count DESC

Mysql参考:

http://dev.mysql.com/doc/refman/5.0/en/sorting-rows.html

票数 1
EN

Stack Overflow用户

发布于 2011-05-10 23:21:55

这将按接收者分组,并按票数降序排序:

代码语言:javascript
复制
    select receiver_user_id, count(1) vote_count
      from vote, user 
     where vote.receiver_user_id = user.user_id 
  group by receiver_user_id 
  order by 2 desc
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5952309

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档