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