我有一个问题因为我对mysql还很新,所以这就是我想要做的。我有一个包含user1 user2和数字
的表示例:
user1 user2 1
user5 user17 1
user44 user33 12
user1 user5 1
user1 user24 1
user5 user666 1
我要做的是首先列出第一个用户字段,然后列出按该数量排序的user2值。
对于上面的示例,我希望结果如下:
user1 3
user5 2
user44 1
原因是user1在user1字段中三次,用户5在两次,用户44在一次。它基本上是我编码的推荐系统,现在我想显示谁将大多数用户推荐到我的网站。 user1是引用者,user2是引用的。
我还想列出最多10行,如LIMIT 10
有什么建议我会怎么做这个查询并用PHP输出?我知道如何连接到mysql的连接部分 - 我只是不知道如何以我想要的方式回应它。
感谢您对此事的帮助:)
答案 0 :(得分:1)
听起来你想要这个:
select user1, count(*) Total
from yourtable
group by user1
order by total desc
limit 0, 10
注意:您的列名称在描述中不明确
答案 1 :(得分:0)
以下是您的问题的解决方案。
select user1, count(*) as Total
from tablename
group by user1
limit 10;
答案 2 :(得分:0)
SELECT username,count(username)
FROM yourtablename
Group By username
Order by 2 desc