在使用mysql时,有时需要查询出某个字段不重复的记录,虽然mysql提供 有distinct这个关键字来过滤掉多余的重复记录只保留一条,但往往只用它来返回不重复记录的条数,而不是用它来返回不重记录的所有值.其原因是 distinct只能返回它的目标字段,而无法返回其它字段,这个问题让我困扰了很久,用distinct不能解决的话,我只有用二重循环查询来解决,而 这样对于一个数据量非常大的站来说,无疑是会直接影响到效率的.所以我花了很多时间来研究这个问题,网上也查不到解决方案,期间把容容拉来帮…
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/…
CREATE TABLE `test` ( `id` INT(20) NOT NULL AUTO_INCREMENT, `name` VARCHAR(20) NULL DEFAULT NULL, `age` INT(5) NULL DEFAULT NULL, PRIMARY KEY (`id`) ) COLLATE='utf8_general_ci' ENGINE=InnoDB 查询出所有重复的记录 ,删除所有 select a.* 换成delete select a.* from test a…
MySQL 查询某个数据库中所有包含数据记录的表名 有时根据实际应用需要,需要对数据进行备份. 如果一个数据库中有很多数据表,但是只想备份包含数据记录的那些表数据(空表不做数据备份). 如果通过如下SQL,逐一确认表中是否有数据,效率会很低: ) from tableN; 如何直接获取某个数据库中,所有包含数据的表名呢? 查询SQL如下: select TABLE_NAME from information_schema.TABLES ;…
select * from tablename group by name;如果是select * from tablename group by name,age;那么查询的是满足name和age都不重复的记录.…
在查询数据时,数据量多的时候,我们会使用分页功能. 每页显示多少数据. 这种情况下,一半看不出什么问题. 而导出数据时,有时就是通过分页的方法,逐步讲数据追加到导出文件中. 当全部数据都导出之后,就有可能会出现重复的记录数. 原因也算简单,MySql排序字段如果有相同的值,如果没有其他限定,不能保证每次都是同样的顺序. 有可能A在前,B在后,也可能反过来. 这样如果翻页时正好交换了,可能就会出现两个A,少各B. 解决办法就是增加一个不会重复的字段排序.比如ID(自增)字段,一定不会重复. 这样就…
SELECT HOUR(e.time)as Hour,FLOOR(MINUTE(e.time)/30) as M, COUNT(*) as Count FROM error_log e WHERE e.date = '2017-09-02' GROUP BY FLOOR(MINUTE(e.time)/30),HOUR(e.time) ORDER BY Hour(e.time); floor函数是mysql 的向下取整函数 如 floor(1.2) = 1 以下是运行结果: 要查看每小时统计,请看…
1. 利用insert ignore into语句去重 mysql> INSERT IGNORE INTO person_tbl (last_name, first_name) -> VALUES( 'J', 'T'); Query OK, row affected (0.00 sec) mysql> INSERT IGNORE INTO person_tbl (last_name, first_name) -> VALUES( 'J', 'T'); Query OK, rows…
删除手机(mobilePhone),电话(officePhone),邮件(email)同时都相同的数据 1.delete from 表 where id not in (select max(id) from 表 group by mobilePhone,officePhone,email )               or       delete from 表 where id not in (select min(id) from 表 group by mobilePhone,offic…
本周内: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…