sql语句的字段升序排列

 包含两个点:

1.根据name字段升序排序。(这里自动按照字符集编码的顺序)

2.<>的用法。这里是直接是不等于,不仅仅局限于数字的比较,还有字符串的比较。另外由于是xml文件要写成"&lt;&gt;"的形式。

	<!-- 所有的楼层 -->
	<select id="findBuildingAndFloorByDistrictAndGroup" resultType="xxxxxxx" parameterType="xxxxx">
				SELECT * FROM ((SELECT
			b.id,
			b.id AS building_id,
			b.building_name NAME,
			b.merchant_district_id pId,
			'building' AS type,
			0 AS checked
		FROM
			xxx b
		WHERE
		b.del_stauts = 1
		<if test="merchantDistrictId != null and merchantDistrictId.trim() != ''">
		AND b.merchant_district_id = #{merchantDistrictId}
		</if>
		AND b.id NOT IN (
			SELECT
				g.building_id
			FROM
				xx g
			LEFT JOIN x eig ON eig.id = g.group_id
			WHERE
				 g.ref_type = 2
			AND g.ref_status = 1
		<if test="instrumentAttribute != null and instrumentAttribute != ''">
			AND eig.instrument_attribute = #{instrumentAttribute}
		</if>
			<if test="groupId != null and groupId.trim() != ''">
				AND g.group_id &lt;&gt; #{groupId}
			</if>
		)
		 )
		UNION ALL
			(SELECT
				f.id,
				f.building_id,
				f.floor NAME,
				f.building_id pId,
				'floor' AS type,
				0 AS checked
			FROM
				xxxx f
			WHERE
				f. STATUS = 1
				AND f.building_id IS NOT NULL
				<if test="merchantDistrictId != null and merchantDistrictId.trim() != ''">
				AND f.merchant_district_id = #{merchantDistrictId}
				</if>
			AND f.id NOT IN (
				SELECT
					g.floor_id
				FROM
					xx g
			LEFT JOIN x eig ON eig.id = g.group_id
				WHERE
			 g.ref_type = 1
			 AND g.ref_status = 1
		<if test="instrumentAttribute != null and instrumentAttribute != ''">
			AND eig.instrument_attribute = #{instrumentAttribute}
		</if>
			<if test="groupId != null and groupId.trim() != ''">
				AND g.group_id &lt;&gt; #{groupId}
			</if>
			)
		 )) t ORDER BY t.name ASC
	</select>

 


版权声明:本文为yunxuantu原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。