mysql查询所有记录,并去掉重复的记录

distinct(str)函数是用来去掉重复记录的,但是它只是针对某一个字段可以去重复。例如:select distinct(name)from tablename; 但是如果想把其他字段值的记录也查询出来,我一开始想的是使用select distinct(name) ,ta.* from tablename.注意distinct必须放在前面!但是这样并没有去掉重复的记录,后来想到了group by。所以呢,如果想去掉表中某个字段的重复的记录,并且查询出来所有字段的值。那么就这样写就ok啊,例如:select * from tablename group by name;如果是select * from tablename group by name,age;那么查询的是满足name和age都不重复的记录。

时间: 2024-10-23 16:28:35

mysql查询所有记录,并去掉重复的记录的相关文章

mysql查询各种类型的前N条记录

mysql查询各种类型的前N条记录,将3改为N(需查询条数)即可  (select * from event_info where event_type = 1  limit 3)union all(select * from event_info where event_type = 2  limit 3)union all(select * from event_info where event_type = 3  limit 3) 原文出处:http://my.oschina.net/u/

MySql数据库,查询数据导出时会出现重复的记录(数据越多越明显)

在查询数据时,数据量多的时候,我们会使用分页功能. 每页显示多少数据. 这种情况下,一半看不出什么问题. 而导出数据时,有时就是通过分页的方法,逐步讲数据追加到导出文件中. 当全部数据都导出之后,就有可能会出现重复的记录数. 原因也算简单,MySql排序字段如果有相同的值,如果没有其他限定,不能保证每次都是同样的顺序. 有可能A在前,B在后,也可能反过来. 这样如果翻页时正好交换了,可能就会出现两个A,少各B. 解决办法就是增加一个不会重复的字段排序.比如ID(自增)字段,一定不会重复. 这样就

用SQL语句去掉重复的记录(转)

海量数据(百万以上),其中有些全部字段都相同,有些部分字段相同,怎样高效去除重复? 如果要删除手机(mobilePhone),电话(officePhone),邮件(email)同时都相同的数据,以前一直使用这条语句进行去重: Sql代码 delete from 表 where id not in (select max(id) from 表 group by mobilePhone,officePhone,email ) or delete from 表 where id not in (sel

mongodb 分组查询统计去掉重复的记录

mongodb版本号是,MongoDB shell version: 2.4.4 操作环境,shell窗口 ,如下所示: [mongo_user@mongodb_dbs ~]# mongo --port 30100 MongoDB shell version: 2.4.4 connecting to: 127.0.0.1:30000/test mongos> mongos> use pos switched to db pos mongos> 1,先统计分组记录数,以paymentOrd

mysql插入数据时,去掉重复的数据;

1. 利用insert ignore into语句去重 mysql> INSERT IGNORE INTO person_tbl (last_name, first_name) -> VALUES( 'J', 'T'); Query OK, 1 row affected (0.00 sec) mysql> INSERT IGNORE INTO person_tbl (last_name, first_name) -> VALUES( 'J', 'T'); Query OK, 0 r

MySql 查询一周内最近7天记录

本周内:select * from wap_content where week(created_at) = week(now) 查询一天:select * from table where to_days(column_time) = to_days(now());select * from table where date(column_time) = curdate(); 查询7天:select * from table  where DATE_SUB(CURDATE(), INTERVA

mysql show processlist 显示mysql查询进程

1.进入mysql/bin目录下输入mysqladmin processlist; 2.启动mysql,输入show processlist; 如果有 SUPER 权限,则可以看到全部的线程,否则,只能看到自己发起的线程(这是指,当前对应的MySQL帐户运行的线程). 得到数据形式如下(只截取了三条): mysql> show processlist; +-----+-------------+--------------------+-------+---------+-------+----

MySQL 查询状态

查询状态 SHOW FULL PROCESSLIST 对于一个连接,或者说一个线程,任何时刻都有一个状态,该状态表示了MySQL当前正在做什么. mysql>SHOW FULL PROCESSLIST; Id User Host db Command Time State Info ------ ------ --------------- ------------ ------- ------ ------ ----------------------- 1 root localhost:61

mysql查询、子查询、连接查询

mysql查询.子查询.连接查询 一.mysql查询的五种子句 where子句(条件查询):按照“条件表达式”指定的条件进行查询. group by子句(分组):按照“属性名”指定的字段进行分组.group by子句通常和count().sum()等聚合函数一起使用. having子句(筛选):有group by才能having子句,只有满足“条件表达式”中指定的条件的才能够输出. order by子句(排序):按照“属性名”指定的字段进行排序.排序方式由“asc”和“desc”两个参数指出,默