SQL基本语句

选择基本属性中含有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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值