按类别编号的帖子对Customer_id的订单计数

时间:2013-12-18 23:01:13

标签: php mysql sql

我有一个带有客户ID的mysql表,并由客户发布各种类别。我想按降序查找每个类别的客户帖子数。

Customer id     Category no
1                 1
2                 1
3                 1
1                 1
1                 2
1                 1
2                 1

基本上在上表中,客户ID 1的最高帖子为1,然后是2,然后是3。 那么我应该使用什么mysql查询来获得解决方案。

我非常感谢任何帮助。谢谢你。

3 个答案:

答案 0 :(得分:1)

SELECT customer_id, COUNT(*) FROM category GROUP BY customer_id, category_no

按您的2栏分组

答案 1 :(得分:1)

这将为您提供按类别和客户分组的类别表中的帖子条目数,并按照其排序顺序排列:

select customer_id, category_no, count(1) as total_post
from category  
group by customer_id, category_no 
order by count(1) desc;

答案 2 :(得分:1)

要获得每个类别的最高贡献客户,您可以这样做:

select category_no, max(cnt) as maxcnt,
       substring_index(group_concat(customer_id order by cnt desc)) as cust3
from (select category_no, customer_id, count(*) as cnt
      from category
      group by category_no, customer_id
     ) c
group by category_no;