搜索
您的当前位置:首页正文

mysql 窗体函数

来源:吉趣旅游网

mysql 窗体函数排序

应用于一对多,获取多条记录中最新的一条

本例子用于一个设备拥有多条抄表记录,获取最新的一条记录的数据

例:

SELECT
	* 
FROM
	(
	SELECT
		build.NAME '楼栋',
		dorm.NAME AS '寝室',
		d.device_sn '设备',
	CASE
			d.biz 
			WHEN 82 THEN
			'水' 
			WHEN 83 THEN
			'电' 
			WHEN 84 THEN
			'气' ELSE '其他' 
		END '类型',
	( SELECT sum( quantity ) FROM orders WHERE d.device_sn = device_sn AND `status` = 5 ) AS recharge_number,
	record.base_recharge,
	record.base_use,
	record.activity_total,
	record.activity_value,
	( row_number ( ) over ( PARTITION BY record.device_sn ORDER BY record.id DESC ) ) AS ss 
FROM
	device_bind d
	LEFT JOIN school_building build ON d.building_id = build.id
	LEFT JOIN school_dorm dorm ON d.dorm_id = dorm.id
	LEFT JOIN device_record record ON d.device_sn = record.device_sn 
WHERE
	d.school_id = 125 
ORDER BY
	dorm.NAME + '',
	d.biz 
	) AS a where ss=1

结果:

因篇幅问题不能全部显示,请点此查看更多更全内容

Top