MySQL:选择属于不同用户的手机

时间:2014-06-25 23:20:59

标签: mysql duplicates

由于缺乏经验,我有一项自己无法解决的任务,我真的需要帮助。

假设我们有一个包含以下字段的表:“phone_number”和“user_id”。目标是找到属于多个用户的数字。

结果应该是这样的:

  

+ --------------------------- + ------------------ --------------- +
  | phone_number |计数|用户|
  + --------------------------- + --------------------- ------------ +
  | (xxx)xxx-xxx | 5 | 1,5,9 |
  + --------------------------- + --------------------- ------------ +

phone_number - 重复的电话号码
计数 - 该数字重复的次数
用户 - 具有此编号的用户的ID,以逗号分隔。例子(1,5,9)

我有以下查询找到数字重复,但我需要将其与用户的ID进行比较。并获得用户的ID,这个数字重复。

SELECT `number`, count(`number`) AS `count`, `user_id` from `phones` 
GROUP BY `number` HAVING `count` > 1

谢谢:)

1 个答案:

答案 0 :(得分:1)

您可以在group_concat列上使用user_id获取所需的结果

示例

select  `number` as `phone_number`, 
        count( `number` ) AS `counts`,
        group_concat( `user_id` ) as `users`
  from  `phones` 
 group  by `number` 
having  `counts` > 1