选择基本属性中含有2室2厅1厨1卫并且总价<200万的数据
SELECT * FROM lianjia WHERE 基本属性 LIKE "%2室2厅1厨1卫%" AND 总价 < 200
对行政区分组统计数量
SELECT 行政区 ,COUNT(编号) FROM lianjia GROUP BY 行政区
对行政区和简称时间分组统计数量
SELECT 行政区 ,简称时间 ,COUNT(1) FROM lianjia GROUP BY 行政区 ,简称时间
对小区超过1000的模块分组统计
SELECT 模块,COUNT(1) FROM lianjia GROUP BY 模块 HAVING COUNT(小区名称)>1000
对小区名字中含有“花苑“且大于50的模块进行分组统计
SELECT 模块,COUNT(1) FROM lianjia WHERE 小区名称 LIKE "%花苑%" GROUP BY 模块 HAVING COUNT(小区名称)>50
模块 COUNT(1)
------------ ----------
金杨 55
世博 92
古美 55
金虹桥 61
康健 87
龙华 67
松江新城 93
泗泾 58
对小区名字中含有“花苑“且大于50的模块进行分组统计
但是显示的是所有小区的数量
SELECT 模块,COUNT(1) FROM lianjia GROUP BY 模块 HAVING COUNT(IF(小区名称 LIKE "%小区%" ,编号,NULL))>50
模块 COUNT(1)
------------ ----------
金杨 1119
世博 878
古美 941
金虹桥 490
康健 578
龙华 491
松江新城 908
泗泾 1432
按行政区对房屋数量分组统计,并统计其中2室2厅数量以及占比
SELECT 行政区,COUNT(1),
COUNT(IF(基本属性 LIKE "%2室2厅%" ,编号,NULL)) AS 2室2厅,
COUNT(IF(基本属性 LIKE "%2室2厅%" ,编号,NULL))/COUNT(1) AS 占比
FROM lianjia GROUP BY 行政区
HAVING 2室2厅>500
ORDER BY 占比
行政区 COUNT(1) 2室2厅 占比
--------- -------- -------- --------
杨浦 4484 536 0.1195
徐汇 4486 598 0.1333
普陀 4465 814 0.1823
青浦 3420 698 0.2041
浦东 18930 4159 0.2197
闵行 9116 2180 0.2391
宝山 4463 1089 0.2440
松江 6364 1611 0.2531
嘉定 3521 990 0.2812
对简称时间组进行分列
SELECT
LEFT(简称时间,LOCATE('年',简称时间)-1) AS TIME,
简称时间
FROM lianjia
Time 简称时间
------ ---------------------
2011 2011年建/板楼
1995 1995年建/板楼
1995 1995年建/板楼
1994 1994年建/板楼
1997 1997年建/板楼
在分列的表中选择time列
SELECT time FROM(
SELECT
SUBSTR(简称时间,1,LOCATE('年',简称时间)-1) AS TIME,
简称时间
FROM lianjia) AS t
TIME
--------
2011
1995
1995
1994
1997
对年份进行分类
SELECT
(CASE
WHEN TIME<1900 THEN '<1900'
WHEN TIME<2000 THEN '1900-1999'
WHEN TIME<2010 THEN '2000-2009'
WHEN TIME<2020 THEN '2010-2019'
END) AS 年份,
TIME FROM(
SELECT
SUBSTR(简称时间,1,LOCATE('年',简称时间)-1) AS TIME,
简称时间
FROM lianjia) AS t1
年份 TIME
--------- --------
2010-2019 2011
1900-1999 1995
1900-1999 1995
1900-1999 1994
1900-1999 1997
2000-2009 2006
SELECT 年份, COUNT(1) FROM(
SELECT
(CASE
WHEN TIME<1900 THEN '<1900'
WHEN TIME<2000 THEN '1900-1999'
WHEN TIME<2010 THEN '2000-2009'
WHEN TIME<2020 THEN '2010-2019'
END) AS 年份,
TIME FROM(
SELECT
SUBSTR(简称时间,1,LOCATE('年',简称时间)-1) AS TIME,
简称时间
FROM lianjia) AS t1) AS t2
GROUP BY 年份
年份 count(1)
--------- ----------
2010-2019 11416
1900-1999 33421
2000-2009 24044
未知 4006
<1900 98