首頁  >  問答  >  主體

mysql order by 子查詢 後面的結果 如何 也顯示在結果集

mysql order by 子查詢 後面的結果 如何 也顯示在結果集裡

我的 mysql語句:

SELECT * FROM wht_user AS t1 WHERE pid =79 ORDER BY ( 
    SELECT sum( `distribution_money` ) AS
    AGGREGATE FROM wht_distribution_detail AS t2
    WHERE t1.id = t2.uid
    AND `puid` =79
    AND `status` =4
    GROUP BY `uid`
    ORDER BY `updatetime` DESC
) DESC 

如何 將 AGGREGATE 也顯示在結果集裡 或有什麼 更好的辦法?

阿神阿神2710 天前601

全部回覆(1)我來回復

  • ringa_lee

    ringa_lee2017-05-18 10:57:42

    求人不如求己 已解決:

    SELECT * , COALESCE( SUM( `distribution_money` ) , 0.00 ) AS
    AGGREGATE
    FROM (
    
        SELECT t1. * , t2 . *
        FROM `wht_user` AS t1
        LEFT JOIN (
            SELECT `uid`, `distribution_money`
            FROM `wht_distribution_detail`
            WHERE `puid` = 79
            AND `status` = 4
        ) AS t2 ON t1.`id` = t2.`uid`
    ) AS s2
    WHERE `pid` =79
    GROUP BY `id`
    ORDER BY AGGREGATE DESC 
    

    回覆
    0
  • 取消回覆