mysql oder by排序把null的字段放在最后面


默認情況下,MySQL將null算作最小值。

使用:
if(isnull(字段名),1,0) 
說明:它的意思是將該字段根據是否為null值分成兩部分,0相當於null值部分放在最后面,1相當於非null值部分放在前面,在排序的時候,先根據這一屬性進行升序排列

 

select
		city_code, ins_code, organ_type, organ_name, organ_address,
		organ_access_url,
		state, longitude, latitude,
		area, organ_category, adCode, organ_catagery
		, ROUND(
		6371.393 * 2 * ASIN(
		SQRT(
		POW(
		SIN(
		(
		#{latitude,jdbcType=DOUBLE}
		* PI() / 180 - latitude * PI() / 180
		) / 2
		),
		2
		) +
		COS(#{latitude,jdbcType=DOUBLE} * PI() / 180) * COS(latitude * PI()
		/
		180) * POW(
		SIN(
		(
		#{longitude,jdbcType=DOUBLE} * PI() / 180 - longitude
		* PI() / 180
		) / 2
		),
		2
		)
		)
		) * 1000 * #{val}
		)/1000 AS dis
		FROM
		wh_institution
		where city_code = #{cityCode,jdbcType=VARCHAR} and ins_code = #{insCode,jdbcType=VARCHAR}  and organ_type =
		#{organType,jdbcType=VARCHAR} and state = '1'
		ORDER BY
		if(isnull(dis),1,0),
		dis,
		CONVERT(organ_name USING gbk)
		COLLATE
		gbk_chinese_ci ASC
		LIMIT
		#{startRow},#{endRow}

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM