2017-02-13 23 views
2

我試圖按不同列排序我的記錄,而不僅僅是一個。我可以使用ORDER BY命令我的記錄,但是如果我想在表中按不同列排序它們的數據,那該怎麼辦?SQL - 如何在一個查詢中按不同列排序

例如,我有一個表AGEMONEYNAME列。

  • 當我點擊的時候,我想要做的SELECT * FROM table ORDER BY age DESC/ASC

  • 當我點擊MONEY,我想要做的SELECT * FROM table ORDER BY money DESC/ASC

  • 最後,如果我想NAME訂購,我想要做SELECT * FROM table ORDER BY name DESC/ASC

結果應該是simila R鍵這樣的:

enter image description here

我找了案件,但我沒有找到我所需要的,但我認爲我有你使用像switch語句。這是否存在於SQL中?我也可以用PHP做到這一點,但我不明白如何。

謝謝!

+3

添加一些示例表格數據和預期結果 - 以及格式化文本。 – jarlh

+4

根據您的編輯,您的圖片並未解釋您要如何訂購結果 – Lamak

+5

:無法在RDBMS級別完成,請使用您的報表工具 – Lamak

回答

3

您有兩個基本選擇:您可以在數據庫中訂購,或者您可以在前端訂購。如果你正在分頁你的數據,你想在數據庫中完成,但如果它只有幾行,你可以在任何地方完成。請記住,前端無法對您沒有從數據庫中提取的行進行排序。

要在前端進行排序,請參閱您正在使用的編程框架的文檔。

要在後端進行排序,每次需要不同的排序時都需要發送一個新的數據庫查詢。這很有意義,因爲您可能沒有檢索到要顯示的所有行。所以從你的問題你瞭解SQL,所以你只需要每次點擊發送它。再次,請查閱您正在使用的編程框架的文檔以獲得幫助。

+0

非常感謝! – DamiToma

相關問題