我真的被一个 sql 查询困住了...我希望有人能帮我解释一下。
这是我的 table 的样子
mysql> show fields from france_data;
+----------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| email | varchar(45) | YES | | NULL | |
| name | varchar(45) | YES | | NULL | |
| lastname | varchar(45) | YES | | NULL | |
| quality | varchar(45) | YES | | NULL | |
| country | varchar(45) | YES | | NULL | |
| state | varchar(45) | YES | | NULL | |
| year | varchar(45) | YES | | NULL | |
| owner | varchar(45) | YES | | NULL | |
+----------+-------------+------+-----+---------+----------------+
9 rows in set (0.00 sec)
问题是,我的表中有重复数据,我想从该表中提取所有数据,根据电子邮件不重复。
我像这样运行了一个简单的计数:
mysql> select count(*) from france_data;
这是结果集:
+----------+
| count(*) |
+----------+
| 2405259 |
+----------+
1 row in set (0.01 sec)
现在我试着像这样运行一个计数:
mysql> select count(*) from france_data group by email;
只是为了看看我有多少独特的记录。不幸的是超时了。
有人知道我如何计算唯一行的数量并选择相同类型的行吗?
最佳答案
请试试这个
SELECT COUNT(DISTINCT email) FROM france_data
关于Mysql选择唯一值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9782523/