mysql屏蔽重复行关键字
2022-11-30阅读(830)
问:mysql 屏蔽 相同 行
- 答:一个表有可能在同一列中有重复的值。例如,数据库pubs的表authors中有两个作者的名字是Ringer。如果你从这个表中取出所有的名字,名字Ringer将会显示两次。
在特定情况下,你可能只有兴趣从一个表中取出互不相同的值。如果一个字段有重复的值,你也许希望每个值只被选取一次,你可以使用关键字DISTINCT来做到这一点:
SELCET DISTINCT au_lname FROM authors WHERE au_lname="Ringer"
当这个SELECT语句执行时,只返回一个记录。通过在SELECT语句中包含关键字DISTINCT,你可以删除所有重复的值。例如,假设有一个关于新闻组信息发布的表,你想取出所有曾在这个新闻组中发布信息的人的名字,那么你可以使用关键字DISTINCT。每个用户的名字只取一次——尽管有的用户发布了不止一篇信息。
同样我们可以使用:DISTINCTROW
将整条记录重复的记录忽略掉,而不是只有针对某一个字段的数据。
SELECT DISTINCTROW 公司名称
FROM 顾客表格 INNER JOIN 订单表格
ON 顾客表格.顾客ID=订单表格.顾客ID
ORDER BY 公司名称;
如果您忽略 DISTINCTROW 则会对每个公司产生一行以下的订单数据。此外,若是DISTINCTROW只有用在一个表格当中,则会被省略掉。
警告:
如同ORDER BY子句一样,强制服务器返回互不相同的值也会增加运行开销。福气不得不花费一些时间来完成这项工作。因此,不是必须的时候不要使用关键字DISTINCT。 select DISTINCT:取出互不相同的记录! - 答:select distinct user, times from (表名)
问:mysql去掉重复行
- 答:删除数据表中重复数据,可以使用以下SQL语句:
mysql> CREATE TABLE tmp SELECT no, name, sex FROM student GROUP BY (no, sex);
mysql> DROP TABLE student;
mysql> ALTER TABLE tmp RENAME TO student;
也可以在数据表中添加INDEX(索引)和 PRIMAY KEY(主键)来删除表中的重复记录,方法如下:
mysql> ALTER IGNORE TABLE student
-> ADD PRIMARY KEY (no);
问:mysql 如何去除完全重复的行
- 答:使用DISTINCT关键字即可。
格式如下:
SELECT DISTINCT 列名 FROM 表名;