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

第一个排序条件将数据分成两个组,首先是当前订阅或未来订阅。在每个组中,数据按日期排序。请发布当前结果和所需结果,这有助于显示而不是告诉您的需要。