Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 向重复记录添加其他数据_Mysql_Sql - Fatal编程技术网

Mysql 向重复记录添加其他数据

Mysql 向重复记录添加其他数据,mysql,sql,Mysql,Sql,我有一个代码,检查有多少重复代码: mysql> SELECT code, count(code) as dup from tg_user group by code having dup>1 order by dup; 这将返回: +------------+-----+ | CCC002 | 5 | | BAR003 | 6 | | FIR001 | 6 | | NJS001 | 6 | | DEL004 | 6 |

我有一个代码,检查有多少重复代码:

mysql> SELECT code, count(code) as dup from tg_user group by code having dup>1 order by dup;
这将返回:

+------------+-----+
| CCC002     |   5 |
| BAR003     |   6 |
| FIR001     |   6 |
| NJS001     |   6 |
| DEL004     |   6 |
| BRA009     |   7 |
| TSH011     |  11 |
| SHO005     |  19 |
+------------+-----+
432 rows in set (0.08 sec)
表格结构为:

mysql> describe tg_user;
+---------------+--------------+------+-----+---------+----------------+
| Field         | Type         | Null | Key | Default | Extra          |
+---------------+--------------+------+-----+---------+----------------+
| user_id       | int(11)      | NO   | PRI | NULL    | auto_increment |
| user_name     | varchar(30)  | YES  | UNI | NULL    |                |
| email_address | varchar(255) | YES  | UNI | NULL    |                |
| code          | varchar(25)  | YES  |     | NULL    |                |
+---------------+--------------+------+-----+---------+----------------+
32 rows in set (0.00 sec)
为每个重复记录添加电子邮件地址的正确方法是什么,以使其成为列表,例如:

| SHO005     |  19 | name@domai.tld, name@domai.tld...       |
+------------+-----+-----------------------------------------+
432 rows in set (0.08 sec)

任何非常受欢迎的建议

添加电子邮件地址的最佳方法就是在select子句中添加该字段,并在group by子句中添加该字段,这将花费最少的时间

比如:-

SELECT code, count(code) as dup ,email_address from tg_user
group by code,email_address having dup>1 order by dup;

GROUP\u CONCAT
用逗号连接值。 添加
DISTINCT
以过滤重复项

SELECT code, count(code) as dup, GROUP_CONCAT(DISTINCT email_address)
from tg_user group by code having dup>1 order by dup;