簡體   English   中英

如何在SQL中對2個不同的列進行排序

[英]how to sort 2 different column in sql

你們可以告訴我如何在sql中對用戶定義的列和固定的列名稱進行排序。 我需要顯示最高的交易記錄和折扣編號,相反,我只能獲得最高的交易記錄,但是輸出編號不在分組中。

對不起,我的英語不好

這是問題

outlet id | revenue code | total transaction | total amount

6837      |     014  |        326        |   39158.94
6821      |     408  |        291        |   48786.50
6814      |     014  |        285        |   74159.76
6837      |     452  |        282        |   8846.80

這是我的sql

SELECT 
                outletid, 
                revcode,
                count(receiptnumbe) as Transactions,
                sum(amount) as total
            FROM 
                user_payment
            WHERE
                date = (SELECT MAX(date) FROM user_payment GROUP BY date desc LIMIT 0, 1)
            GROUP BY 
                outletid, revcode
            ORDER BY Transactions desc

我需要像這樣。 按網點編號和最高交易次數排序。

outlet id | revenue code | total transaction | total amount

    6837      |     014  |        326        |   39158.94
    6837      |     452  |        282        |   8846.80
    6821      |     408  |        291        |   48786.50
    6814      |     014  |        285        |   74159.76

這是你想要的嗎?

   ORDER BY OutletId, Transactions desc

編輯:

如果我理解正確,則希望按交易總數最多的網點進行排序。 然后通過該組內的交易。 為此,您需要在outlet級別再次進行匯總,然后將結果重新加入:

select outor.*
from (SELECT up.outletid, up.revcode, count(up.receiptnumbe) as Transactions,
             sum(up.amount) as total
      FROM user_payment up
      WHERE date = (SELECT MAX(date) FROM user_payment)
      GROUP BY outletid, revcode
     ) outor join
     (SELECT up.outletid, count(up.receiptnumbe) as Transactions,
             sum(up.amount) as total
      FROM user_payment up
      WHERE date = (SELECT MAX(date) FROM user_payment)
      GROUP BY outletid
     ) o
     on outor.outletid = o.outletid
order by o.Transactions desc, outor.outletid, outor.Transactions desc;

1)首先要做的是確保您要對字段進行排序。 您要它們按數字還是字母排序? 請參閱對詞法和數字計數排序應為數字,但應檢查outletid。 如果可以訪問表,則可以將字段更改為數字類型以使其按數字排序,或將字符串更改為按字母順序排序。 您可能必須使用強制轉換或轉換。 請參閱Oracle Cast文檔。

2)如果您希望整個表按出口ID和交易量排序,則可以考慮刪除group by子句。

3)即使這樣做,我還要看的第三件事是將具有保留字的列名重命名為保留字的表。 我注意到交易以藍色突出顯示。

選中這些內容后,Melon的評論應該起作用。

好問題。 請隨時發表評論,以便我跟進。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM