【MySQL查询结果行转列、列转行】教程文章相关的互联网学习教程文章

MySQL查询top N记录【代码】【图】

下面以查询每门课程分数最高的学生以及成绩为例,演示如何查询 top N记录。下图是测试数据,表结构和相关 insert 脚本见《常用SQL之日期格式化和查询重复数据》。 使用自连接【推荐】 select a.name,a.course,a.score from test1 a,(select course,max(score) score from test1 groupby course) b WHERE a.course=b.course and a.score=b.score; 执行后,结果集如下: 使用相关子查询 select name,course,score from test1 ...

mysql 查询未提交事务【图】

查询 正在执行的事务:SELECT * FROM information_schema.INNODB_TRX查看正在锁的事务SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS; 查看等待锁的事务SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCK_WAITS;kill下面的进程号即可 原文:https://www.cnblogs.com/jasonbourne3/p/12456620.html

mysql 查询 两个表中不同字段的 和,并通过两个表的时间来分组【代码】

( SELECTsum( a.cost_sum ) AS sum_cost, sum( a.phone_sum ) AS sum_phone, sum( a.arrive_sum ) AS sum_arrive, FORMAT( sum( a.cost_sum ) /sum( a.arrive_sum ), 0 ) AS arrive_cb, a.time AS time FROM(SELECTFROM_UNIXTIME( time, "%Y-%m-%d" ) AS time,sum( cost ) AS cost_sum,sum( arrive_true ) AS arrive_sum,sum( phone ) AS phone_sum FROM`cmf_test_jj_data` GROUPBY`time` UNION(SELECTFROM_UNIXTIME( time, "%Y-%...

如何使用MySQL查询某个列中相同值的数量统计【代码】【图】

数据现在是这样的,我想确定出type列中的news和image。。。。甚至以后有其他值,他们分别有多少个。 SELECT type, count(1) AS counts FROM material GROUP BY type count(1),代表统计第一列,写上1 比写 *的效率高!以上所述就是本文的全部内容了,希望大家能够喜欢。原文:http://www.jb51.net/article/69825.htm

MYSQL查询今天昨天本周本月等的数据

mysql查询本季度今天select * from 表名 where to_days(时间字段名) = to_days(now());昨天SELECT *FROM表名WHERE TO_DAYS( NOW( ) ) – TO_DAYS( 时间字段名) <= 17天SELECT *FROM表名 where DATE_SUB(CURDATE(), INTERVAL 7 DAY) <= date(时间字段名)近30天SELECT *FROM表名 where DATE_SUB(CURDATE(), INTERVAL 30 DAY) <= date(时间字段名)本月SELECT *FROM表名 WHERE DATE_FORMAT( 时间字段名, ‘%Y%m’ ) = DATE_FORMAT( CUR...

mysql 查询锁表【代码】

1)使用情景“判断通过后写入数据库”,这个一般是不会有问题的, 但并发访问的时候就不太好搞。因为写入(insert)是需要时间的,假设现在有两个并发请求,(假设第一个访问是最后一个符合条件的写入请求,按照逻辑,第二个请求应该是不合法、不能写入的),在第一请求成功写入之前,第二请求查询到未更新的数据记录,因为记录是未更新的,所以它也是可以通过判断的。最后导致两个请求都写入数据了。 2)解决办法:查询锁表在我处...

mysql查询结果多列拼接查询【代码】

mysql查询结果多列拼接查询,主要场景是,列表中其中一列涉及另外一张表的多条数据,但是我只需要多条数据中的其中某一列(主子表场景)关键字:GROUP_CONCATsql语句如下:SELECTr.id,b.NAME AS group_name,GROUP_CONCAT( a.`name` ) province_nameFROM config_rule AS rLEFT JOIN group AS g ON ( r.svg_id = g.id )LEFT JOIN config_rule_detail AS rd ON ( r.id = rd.chat_config_rule_id )LEFT JOIN area AS a ON ( rd.province_id ...

MySql查询时间段的方法

本文实例讲述了MySql查询时间段的方法。分享给大家供大家参考。具体方法如下:MySql查询时间段的方法未必人人都会,下面为您介绍两种MySql查询时间段的方法,供大家参考。MySql的时间字段有date、time、datetime、timestamp等,往往我们在存储数据的时候将整个时间存在一个字段中,采用datetime类型;也可能采用将日期和时间分离,即一个字段存储date,一个字段存储时间time。无论怎么存储,在实际应用中,很可能会出现包含“时间段...

mysql 查询 字段的类型

select column_name,data_type from information_schema.columnswhere table_name = ‘表名‘原文:http://www.cnblogs.com/YangK-java/p/4545378.html

170727、MySQL查询性能优化【图】

MySQL查询性能优化  MySQL查询性能的优化涉及多个方面,其中包括库表结构、建立合理的索引、设计合理的查询。库表结构包括如何设计表之间的关联、表字段的数据类型等。这需要依据具体的场景进行设计。如下我们从数据库的索引和查询语句的设计两个角度介绍如何提高MySQL查询性能。数据库索引  索引是存储引擎中用于快速找到记录的一种数据结构。索引有多种分类方式,按照存储方式可以分为:聚簇索引和非聚簇索引;按照数据的唯一...

MySQL查询缓存

MySQL查询缓存用于保存MySQL查询语句返回的完整结果,被命中时,MySQL会立即返回结果,省去解析、优化和执行等阶段。如何检查缓存?MySQL保存结果于缓存中:把SELECT语句本身做hash计算,计算结果为key,查询结果作为value。不会被缓存的数据:查询语句中有一些不确定数据时,不会缓存,例如NOW(),CURRENT_TIME(),一般来说,如果查询中包含自定义函数、存储函数、用户变量、临时表、mysql库中系统表、或者任何包含权限的表,一般都不...

MySQL查询语句练习题

Sutdent表的定义 Sutdent表的定义字段名字段描述数据类型主键外键非空唯一自增Id学号INT(10)是否是是是Name姓名VARCHAR(20)否否是否否Sex性别VARCHAR(4)否否否否否Birth出生年份YEAR否否否否否Department院系VARCHAR(20)否否是否否Address家庭住址VARCHAR(50)否否否否否 Score表的定义字段名字段描述数据类型主键外键非空唯一自增Id编号INT(10)是否是是是Stu_id学号INT(10)否否是否否C_name课程名VARCHAR(20)否否否否否Grade分数I...

MySQL查询本周、上周、本月、上个月份数据的sql代码

查询当前这周的数据 SELECT name,submittime FROM enterprise WHERE YEARWEEK(date_format(submittime,‘%Y-%m-%d‘)) = YEARWEEK(now()); 查询上周的数据 SELECT name,submittime FROM enterprise WHERE YEARWEEK(date_format(submittime,‘%Y-%m-%d‘)) = YEARWEEK(now())-1; 查询当前月份的数据 select name,submittime from enterprise where date_format(submittime,‘%Y-%m‘)=date_format(now(),‘%Y-%m‘) 查询距离当前现在...

php、mysql查询当天,查询本周,查询本月的数据实例(字段是时间戳)【代码】

php、mysql查询当天,查询本周,查询本月的数据实例(字段是时间戳) //其中 video 是表名;//createtime 是字段;////数据库time字段为时间戳////查询当天:$start = date(‘Y-m-d 00:00:00‘);$end = date(‘Y-m-d H:i:s‘);SELECT * FROM `table_name` WHERE `time` >= unix_timestamp( ‘$start‘ ) AND `time` <= unix_timestamp( ‘$end‘ )//查询本周:SELECT yearweek( ‘2011-04-17 15:38:22‘,1 ) //结果是201115SELECT ...

mysql 查询执行的流程

1、客户端发送一个请求给服务器。2、服务器先检查查询缓存,命中了缓存,直接返回缓存中的数据,否则进入下一个阶段。3、服务器进行sql解析,预处理,再由优化器生成对应的执行计划。4、mysql根据执行计划,调用存储引擎的API来执行查询5、将结果返回给客户端。原文:http://www.cnblogs.com/nzbbody/p/4542187.html