Php MySQL按另一个表中用户的总行排序
假设,我想显示一个按用户发送的最多消息数排序的用户列表 我有两个表:Php MySQL按另一个表中用户的总行排序,php,html,mysql,sql,Php,Html,Mysql,Sql,假设,我想显示一个按用户发送的最多消息数排序的用户列表 我有两个表:用户和消息 我有10个用户 用户A发送了20条消息(消息表中有20行) 等等 我想创建一个查询,该查询将按用户发送的邮件总数的顺序列出用户。比如: 1. A (20 msgs) 2. C (19 msgs) 3. B (17 msgs) 4. D (13 msgs) 我尽力了,但找不到任何查询来执行此操作。请帮忙。提前感谢。如果要打印“名称加入用户”表 SELECT user, COUNT(*) FROM messages G
用户
和消息
我有10个用户
用户A发送了20条消息(消息表中有20行)
等等
我想创建一个查询,该查询将按用户发送的邮件总数的顺序列出用户。比如:
1. A (20 msgs)
2. C (19 msgs)
3. B (17 msgs)
4. D (13 msgs)
我尽力了,但找不到任何查询来执行此操作。请帮忙。提前感谢。如果要打印“名称加入用户”表
SELECT user, COUNT(*) FROM messages GROUP BY user ORDER BY count(*) DESC;
select user_name, count(*) from users inner join messages m on users.userid=m.messageid group by userid order by count(*) desc;
如果要打印“名称加入用户”表
select user_name, count(*) from users inner join messages m on users.userid=m.messageid group by userid order by count(*) desc;
您可以使用
别名进行排序
:
SELECT user, COUNT(1) as cnt
FROM Messages
GROUP BY user
ORDER BY cnt DESC;
或位置
:
SELECT user, COUNT(1) as cnt
FROM Messages
GROUP BY user
ORDER BY 2 DESC;
您可以使用
别名进行排序
:
SELECT user, COUNT(1) as cnt
FROM Messages
GROUP BY user
ORDER BY cnt DESC;
或位置
:
SELECT user, COUNT(1) as cnt
FROM Messages
GROUP BY user
ORDER BY 2 DESC;
正在键入答案,突然出现了一声巨响。不需要继续,这是你的答案。是的,我讨厌这种情况发生;)在使用上述查询时,它只给出一行。预期的行为是它应该按计数(*)的顺序获取所有结果不,它没有。您做错了什么,或者您的数据只有一个
user
值。您正在键入答案,然后出现了提示。不需要继续,这是你的答案。是的,我讨厌这种情况发生;)在使用上述查询时,它只给出一行。预期的行为是它应该按计数(*)的顺序获取所有结果不,它没有。您做错了什么,或者您的数据只有一个值用于用户
。请不要不必要地重复您的问题,此可能的副本已由您自己在同一时间发布。请不要不必要地重复您的问题,此可能的副本已由您自己在同一时间发布。