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

SQL - How to ORDER BY different columns in one query

我正在尝试按不同的列(而不是一列)对我的记录进行排序。我可以使用 ORDER BY 对我的记录进行排序,但是如果我想对 table 中的某些数据进行排序并按不同的列对它们进行排序怎么办?

例如,我有一个包含 AGEMONEYNAME 列的 table。

结果应该与此类似:

我找了 CASE 但没有找到我需要的东西,但我想我必须让你使用类似 switch 语句的东西。这是否存在于 SQL 中?我也可以用 PHP 做到这一点,但我不明白怎么做。

谢谢!

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

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

要在 back-end 中排序,每次需要不同的排序时都需要发送新的数据库查询。这是有道理的,因为您可能没有检索到要显示的所有行。所以从你的问题你理解 SQL,所以你只需要在每次点击时发送它。同样,请查阅您正在使用的编程框架的文档以帮助实现这一目标。