Mysql 如何计算sql中的相似数据?

Mysql 如何计算sql中的相似数据?,mysql,sql,Mysql,Sql,我有一张桌子 查询: select * from tmp 我希望得到以下结果: customer_id | subscriber_id | totalSubscribers 320 | 433 | 3 320 | 434 | 3 你能告诉我如何做到这一点吗?这是解决你这个问题的方法 SELECT customer_id , subscriber_id , count(*) AS t

我有一张桌子

查询:

select * from tmp
我希望得到以下结果:

customer_id | subscriber_id  | totalSubscribers    
320         | 433            |     3  
320         | 434            |     3   

你能告诉我如何做到这一点吗?

这是解决你这个问题的方法

SELECT customer_id , subscriber_id , count(*) AS totalSubscribers 
FROM `tmp` GROUP BY 1,2

下面是已执行查询的screnshot 以下是答案

  SELECT customer_id , subscriber_id , count(*) as [TOTAL]
    FROM  tmp
    GROUP BY customer_id , subscriber_id

和COUNT一起查看分组。这真的有效吗?怀疑it@KLin真正地对我来说似乎有问题:如果存在tmp,在这里尝试代码删除表;创建表tmp customer\u id integer,订户\u id;在tmp值中插入1,2;在tmp值中插入2,1;在tmp值中插入3,1;按客户id、订户从tmp组中选择客户id、订户id、计数*为[TOTAL]_id@hanshenrik您可以在表3中插入id为1、2和3的不同客户。而且每个客户只有一个subscriber警告,您当前的方法似乎有缺陷:如果存在tmp,则删除表;创建表tmp customer\u id integer,订户\u id;在tmp值中插入1,2;在tmp值中插入2,1;在tmp值中插入3,1;选择customer_id、subscriber_id、count*作为tmp GROUP的totalSubscribers BY 1,2>>>结果:每个人都有1个totalSubscribers,尽管nr2应该有2个订阅者。我的查询中没有错误。您可以在表3中插入id为1、2和3的不同客户。每个客户只有一个订阅服务器客户1有两个订阅服务器2和3,客户2有一个订阅服务器客户1,客户3有0个订阅服务器。但是你的密码说每个人都有一个订户。@hanshenrik你错了。根据您的插入查询:客户1有一个id=2的订户,客户2有一个id=1的订户,客户3有一个id=1的订户
  SELECT customer_id , subscriber_id , count(*) as [TOTAL]
    FROM  tmp
    GROUP BY customer_id , subscriber_id