搜索

首页  >  问答  >  正文

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 也显示在结果集里 或者有什么 更好的办法?

阿神阿神2794 天前660

全部回复(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
  • 取消回复