SQL - 如何在一个查询中按不同列排序
我试图按不同列排序我的记录,而不仅仅是一个。我可以使用ORDER BY命令我的记录,但是如果我想在表中按不同列排序它们的数据,那该怎么办?SQL - 如何在一个查询中按不同列排序
例如,我有一个表AGE
,MONEY
和NAME
列。
当我点击的时候,我想要做的
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键这样的:
我找了案件,但我没有找到我所需要的,但我认为我有你使用像switch语句。这是否存在于SQL中?我也可以用PHP做到这一点,但我不明白如何。
谢谢!
您有两个基本选择:您可以在数据库中订购,或者您可以在前端订购。如果你正在分页你的数据,你想在数据库中完成,但如果它只有几行,你可以在任何地方完成。请记住,前端无法对您没有从数据库中提取的行进行排序。
要在前端进行排序,请参阅您正在使用的编程框架的文档。
要在后端进行排序,每次需要不同的排序时都需要发送一个新的数据库查询。这很有意义,因为您可能没有检索到要显示的所有行。所以从你的问题你了解SQL,所以你只需要每次点击发送它。再次,请查阅您正在使用的编程框架的文档以获得帮助。
非常感谢! – DamiToma
添加一些示例表格数据和预期结果 - 以及格式化文本。 – jarlh
根据您的编辑,您的图片并未解释您要如何订购结果 – Lamak
:无法在RDBMS级别完成,请使用您的报表工具 – Lamak