さて、私はいつもこれに疑問を抱いていましたが、今日まで本当に必要ではありませんでした.
通常、すべての取引を取得し、それぞれを調べて、この取引に関連するすべての注文から SUM(金額) を見つけます。(PHP)
次に、正常に動作する単純な uasort() を実行します。
しかし今、私はそれをすべてSQLクエリで行う必要があります。
これは私が試したことです:
SELECT deals.ID, SUM(orders.amount) AS revenue FROM deals
JOIN orders ON (orders.deal_id = deals.id)
ORDER BY revenue DESC
これで、「ランダムな」取引 ID を持つ 1 つの行が得られ、収益の数値が大きくなります。
収益のこの数値は、すべての金額列の合計であり、この特定の取引 ID ではないと思われます。
私が望むのは、各取引 ID の行であり、列の収益に正しい数字があり、すべての行が DESC で並べ替えられています。
これはどのように行われますか?取引を並べ替えるには、収益 (カスタム列) から除外します。これは、それぞれの取引 ID の行のすべての金額列の合計です。