MySQL |
您所在的位置:网站首页 › 上海二手房交易时间查询表下载 › MySQL |
MySQL的数据查询功能
SQL查询的7个关键词——以链家二手房数据为例
在实际工作中,使用最多的就是数据库的查询功能了。在数据查询过程中,通常会用到以下7个核心关键词: SELECT FROM [WHERE ] [GROUP BY ] [HAVING ] [ORDER BY ASC|DESC] [LIMIT ]其中,SELECT和FROM两个关键词是必选项,也就是说,只要是数据查询功能,都需要使用这两个关键词,其他的5个关键词,可以根据查询的实际情况有针对性的选择和使用。 (1) SELECT主要作用就是告诉数据库,在提取数据时需要选择的字段名称。这里的字段名称可以是数据表中已经有的名称,也可以是依据已有名称衍生出来的名称。需要注意的是如果要查看表中所有数据,只需要在SELECT后面直接写一个星号(*)即可;如果需要提取多个字段,在SELECT关键词后面逐一写出字段名称,并且字段名称之间需要用逗号(英文状态下)隔开。 (2) FROM主要作用就是告诉数据库,在提取数据时需要选择的数据源(也就是表)名称。 通常来说SELECT和FROM两个关键词都是一起使用的。 # 选择指定的数据库 use test; # 查看链家二手房所有数据 select * from sec_buildings; # 查看链家二手房的小区名称、户型、面积、单价和总价; select fname,ftype,size,price_unit,tot_amt from sec_buildings; # 查看链家二手房的平均单价和平均总价 select avg(price_unit),avg(tot_amt) from sec_buildings; (3) WHERE主要作用就是限定数据查询的条件,也就是实现数据子集的提取。通常情况下,查询条件可以包含算术运算符、比较运算符、逻辑运算符、区间运算符和通配符。 主要用于统计时的分组操作,通常和聚合函数一起搭配使用。在SQL语法中,可以使用的聚合函数主要有以下5种: group by 应用实例: # 1.查询各个行政区域下二手房的数量、总的可居住面积、平均总价格、最大总价格和最小单价 select region,count(*) as counts,sum(size) as tot_size,avg(tot_amt) as avg_amt, max(tot_amt) as max_amt,min(price_unit) as min_price from sec_buildings group by region;需要注意的是,如果对多个字段进行分组统计,那么需要将所有字段都写到关键词group by后面,并以逗号(英文状态下)隔开。 # 2.查询各个行政区域下每年二手房的数量、总的可居住面积、平均总价格、最大总价格和最小单价 select region,built_date,count(*) as counts,sum(size) as tot_size,avg(tot_amt) as avg_amt, max(tot_amt) as max_amt,min(price_unit) as min_price from sec_buildings group by region,built_date;这里尝试用SQL计算RFM模型中的R、F、M值。这里将Excel RFM案例中的order数据集导入到MySQL中,需要注意的是导入之前,需要对数据集做一些处理,否则导不成功: 1.将数据集中所有中文列名改成英文2.将数据存储方式改成csv3.将数据编码方式改成utf-8 # 提取出RFM模型关键字段 select buyer_id,datediff("2017-06-01",max(payment_time)) as R,count(buyer_id) as F,avg(actual_amt) as M from orders where payment_time between "2017-05-01 00:00:00" and "2017-05-31 23:59:59" group by buyer_id;MySQL中所有函数:https://www.runoob.com/mysql/mysql-functions.html (5)HAVINGhaving关键词与where关键词的作用有一些相似 用于查询结果的排序,排序过程中可以按照某个或者某些字段进行升序或者降序的排列。默认是按照升序方式排序,如果需要降序排列的话,需要在字段后面跟上一个关键词DESC。 # 按面积降序、总价升序的方式查询出所有2室1厅的二手房信息 select * from sec_buildings where ftype = "2室1厅" order by size desc,tot_amt; select * from sec_buildings where ftype = "2室1厅" order by tot_amt,size desc;体会一下上面两个查询结果。 需要注意的是order by关键词后面的字段的顺序是有意义的,排在前面的优先级就比后面的要高。 (7)LIMIT用于限定查询返回的记录行数,可以选择返回前几行,中间几行或者是末尾几行。需要注意的是这个关键词后面最多可以写两个整数型的值: LIMIT n:表示返回查询结果的前n行 LIMIT m,n:表示从第m+1行开始,连续返回n行的数据 # 查询出建筑时间最悠久的5套二手房 select * from sec_buildings order by built_date limit 5; # 查询出建筑时间最新的6套二手房 select * from sec_buildings order by built_date desc limit 6; # 查询出浦东新区2013年建的二手房,并且总价排名在6-10 select * from sec_buildings where region="浦东" and built_date = "2013年建" order by tot_amt desc limit 5,5;以上,就是查询中常用的7个关键词,同时也是数据提取时要用到的最基本的关键词,同学们一定要掌握每个关键词的作用和语法。 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |