Mysql 对查询中的SQL结果进行排序
我有这样一个问题:Mysql 对查询中的SQL结果进行排序,mysql,sql,Mysql,Sql,我有这样一个问题: SELECT A.*, B.surname, B.name, C.url_address, (SELECT Concat(file_path, '/', file_name) AS image FROM psuploadedfiles B WHERE enum = 3 AND category = A.id_user OR
SELECT A.*,
B.surname,
B.name,
C.url_address,
(SELECT Concat(file_path, '/', file_name) AS image
FROM psuploadedfiles B
WHERE enum = 3
AND category = A.id_user
ORDER BY number ASC
LIMIT 1) AS image2,
(SELECT Concat(file_path, '/', file_name) AS image
FROM psuploadedfiles B
WHERE enum = 3
AND category = A.post_id
ORDER BY number ASC
LIMIT 1) AS image
FROM psposts A
LEFT JOIN psuserdetails B
ON B.id_user = A.id_user
LEFT JOIN psuser C
ON C.id_user = A.id_user
WHERE A.enable = '1'
AND ( A.id_user = 21
OR ( A.id_user = '7'
OR A.id_user = '1'
OR A.id_user = '5' ) )
ORDER BY date DESC
LIMIT 0, 25;
在psPosts表中,我有一个subscriptions\u date列(包含yyyy-mm-dd格式的日期),其中subscriptions\u date是文章升级之前的日期
如何对结果进行排序,使其顶部的帖子包含订阅日期、当前日期或未来日期(即提升日期),而其他帖子下方的帖子类似于
ORDER BY
CASE WHEN A.subscriptions_date >= NOW() THEN 0 ELSE 1 END,
date
第一个排序条件将数据分成两个组,首先是当前订阅或未来订阅。在每个组中,数据按日期排序。请发布当前结果和所需结果,这有助于显示而不是告诉您的需要。