数据库
首页 > 数据库> > mysql 多字段排序,复杂排序, 高级排序

mysql 多字段排序,复杂排序, 高级排序

作者:互联网

SELECT
	*
FROM
	notice_message nm
	RIGHT JOIN notice_user nu ON nm.notice_code = nu.notice_code  WHERE 1
-- 	AND nu.user_account LIKE concat('%','XiJinPing','%')  
-- 	AND nm.notice_title LIKE concat('%','端午节放假3天','%')
-- 	AND nm.sponsor_name LIKE concat('%','张三','%') 
-- 	AND nm.launch_time LIKE CONCAT( '%','2021-06-09','%') 
-- 	AND nm.notice_type = '紧急'
-- 	AND length(nu.user_reply) = 0 -- 最好的非空判断方式
-- 	AND nu.if_read = lower('NO')
	
ORDER BY
-- 	field( nu.if_read, 'no', 'yes' ) ASC, -- 自定义排序,ASC默认,可以不写

-- 	nm.launch_time DESC, -- 常规排序方式

-- 	field( nm.notice_type, '一般', '重要', '紧急' ) DESC, -- 自定义排序

-- 	(CASE nm.sponsor_name
-- 		WHEN '张三' THEN
-- 			4
-- 		WHEN '李四' THEN
-- 			3
-- 	    WHEN '王五' THEN
-- 			2
-- 	    WHEN '赵六' THEN
-- 			1
-- 		ELSE
-- 			0
-- 	END) DESC, -- 多条件排序(灵活度高)

(CASE 
	WHEN nm.notice_type='紧急' THEN
		3
	WHEN nm.sponsor_name='林香' THEN
		2
	ELSE
		1
END) DESC

 LIMIT 100;

 

标签:notice,nm,--,WHEN,nu,mysql,排序,多字段
来源: https://blog.csdn.net/wcdunf/article/details/118028120