SQL - 如何在一个查询中按不同列排序

问题描述:

我试图按不同列排序我的记录,而不仅仅是一个。我可以使用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

您有两个基本选择:您可以在数据库中订购,或者您可以在前端订购。如果你正在分页你的数据,你想在数据库中完成,但如果它只有几行,你可以在任何地方完成。请记住,前端无法对您没有从数据库中提取的行进行排序。

要在前端进行排序,请参阅您正在使用的编程框架的文档。

要在后端进行排序,每次需要不同的排序时都需要发送一个新的数据库查询。这很有意义,因为您可能没有检索到要显示的所有行。所以从你的问题你了解SQL,所以你只需要每次点击发送它。再次,请查阅您正在使用的编程框架的文档以获得帮助。

+0

非常感谢! – DamiToma