1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断 select * from people where peopleId in (select peopleId from people group by peopleId having count(peopleId) > 1) 2、删除表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断,只留有一个记录 delete from people where peopleId in (select peopleId from people group by peopleId having count(peopleId) > 1) and min(id) not in (...
一:简单查询 1. and、or、not 如果and与or共同出现在where条件中,则and的优先级高。 查询remark不为null的记录 select * from student where remark is not null;2. 模糊查询(like) 通配符:% 任意个数的任意字符 eg:将姓名中含有‘东‘字的学生信息查出来 select * from student where name like ‘%东%‘;_ 代表一个字符 eg: 将姓名中第二个字为...
两张表的的结构如下,需求是写出从one表到two表和从two表到one表的查询转换。create table student_one(name varchar(50) default ‘‘ not null,type varchar(10) not null default 0,score float(5,2) not null default 0.00 )Engine=innodb;create table student_two(name varchar(50) default ‘‘ not null,math float(5,2) not null default 0.00,english float(5,2) not null default 0.00,chinese float(5,2) not null de...
explain显示了mysql如何使用索引来处理select语句以及连接表。可以帮助选择更好的索引和写出更优化的查询语句。 使用方法,在select语句前加上explain就可以了,如:explain select * from statuses_status where id=11; explain列的解释table:显示这一行的数据是关于哪张表的 type:这是重要的列,显示连接使用了何种类型。从最好到最差的连接类型为const、eq_reg、ref、range、indexhe和all possible_keys:显示可能应用在这张表...
1、基本查询语句 SELECT 属性列表 FROM <表名 | 视图列表> [WHERE 条件表达式1] [GROUP BY 属性名1 [HAVING 条件表达式2]] [ORDER BY 属性名2 [ASC | DESC]] 解释: A)属性列表:属性1, 属性2, ... ... 属性n B)属性1 = 100 C)GROUP BY:把字段中的数据进行分组 D)[HAVING 条件表达式2]]:满足条件表达式2的行会被输出 E)ORDER BY:排序,ASC为升序,DESC为降序 例:SELECT id, name, age, sex FROM 学生表 WHERE age < 25 ORD...
最近公司的测试服务器数据库经常是连接爆满,几次加大了依旧满了。 明明只有几个人在用这个数据库,但是连接数到了三四百。于是就想是谁一直开着连接不释放,于是写了个SQL查了下连接使用情况。 SQL如下: select SUBSTRING_INDEX(host,‘:‘,1) as ip , count(*) as connectionsfrom information_schema.processlistgroup by ipORDER BY connections desc; 结果:很明显啦,除了18是服务器,48和42两个同学就有点过分啦,这下可...
SELECT TIME_TO_SEC(TIMEDIFF(‘2010-08-21 12:01:00‘, ‘2010-08-20 12:00:00‘)) diff;本文出自 “wangfoye” 博客,请务必保留此出处http://wangfoye.blog.51cto.com/12003317/1916100mysql查询两个日期的时间间隔,以秒为单位标签:mysql查询两个日期的时间间隔 秒为单位本文系统来源:http://wangfoye.blog.51cto.com/12003317/1916100
#!/bin/python#coding=utf-8import MySQLdbimport timeimport sysimport MySQLdb.cursors# 加上字符集参数,防止中文乱码print "---------TOP OS SLAVE 10--------"conn = MySQLdb.connect(host="XXXX",db="mysql",user="user",passwd="password",port=3380,charset="utf8")cursor = conn.cursor() query = "select distinct t.user_host,t.sql_text from mysql.slow_log t where t.query_time>5 and t.start_time>=SUBDATE(CURDA...
关于explain 用法:explain select * from tables1 where 1 ... 先看一下在 MySQL Explain功能中给我们展示的各种信息的解释:◆ ID: Query Optimizer 所选定的执行计划中查询的序列号;◆ Select_type:所使用的查询类型,主要有以下这几种查询类型 ◇ DEPENDENT SUBQUERY:子查询中内层的第一个SELECT,依赖于外部查询的结果集; ◇ DEPENDENT UNION:子查询中的UNION,且为UNION中从第二个SELECT开始的后面所有SELECT,同...
"SELECT table_id, FROM table WHERE (timediff(‘%s‘,raise_time)<‘00:05:00‘)" % \( table_id , str(datetime.datetime.now()))MySQL 查询时间差值大于某一个值的 记录标签:table str mysql sel date 记录 ediff 大于 ble 本文系统来源:http://www.cnblogs.com/buxizhizhoum/p/6780181.html
作为小白的我,这个问题弄了半天才解决,特此记录下。 两张表:文章表和评论表 文章表(article):id 评论表(comment):id,c_aid 要求:查询出所有文章及评论数量然后降序显示(没有评论的文章的评论数量则返回为0) SQL:select A.id, ifnull(AC.comment_count, 0) as cont from b_articleinfo A LEFT JOIN (select c_aid, count(1) as comment_count from b_article_comment group by c_aid) AC ON A.id = AC.c_ai...
$dbh->exec("Insert INTO `test`.`table` (`name` ,`age`)VALUES (‘mick‘, 22);"); $dbh->exec("Insert INTO `test`.`table` (`name` ,`age`)VALUES (‘lily‘, 29);"); $dbh->exec("Insert INTO `test`.`table` (`name` ,`age`)VALUES (‘susan‘, 21);"); $dbh->commit(); } catch (Exception $e) { $dbh->rollBack(); echo "Failed: " . $e->getMessage(); } 4.foreach语句 <?php$db...
2.查询指定列select 列名,列名 from 表名例:select code,name from test 3.修改结果集的列名 asselect 列名 as ‘显示的字‘ from 表名例:select code as ‘代号‘,name as ‘姓名‘ from test 4.条件查询select * from 表名 where 条件例:select * from test where code=‘n003‘ 5.多条件查询或者 or:select * from 表名 where 条件 or 条件例:select * from test where code=‘p003‘ or nation=‘n001‘ 并且 and:selec...
! MySQL 查询某个列中同样值的数量统计标签:blog gravity group mat ext style mysq font from 本文系统来源:http://www.cnblogs.com/brucemengbm/p/6801275.html
例子: SELECT FROM_UNIXTIME (created, "%Y-%m-%d") as created_date, count(*) as `all`, sum( if(order_status = 1, 1, 0) ) as new, sum( if(order_status = 2, 1, 0) ) as approved, sum( if (order_status = 3, 1, 0) ) as picked FROM sale_order group by created_date 讲解:可以把if()里面的看成三元表达式 正确的选择第二个统计 不正确统计第三个 只统计数量可以不写后两个参数,统计总量比如金额的...