sql - 根据表中的值对列值重新排序
问题描述
我想知道,我们如何在检索数据时按降序对列重新排序。
请尝试提供一个解决方案,该解决方案可以适用于任意数量的列。
在我们检索数据时,每一行都应该按降序重新排列。我正在尝试执行诸如 order by 之类的操作,但不是基于列,而是基于行。是否可以实现。
解决方案
使用 w 作为降序进行排序。如果它为空,则使用 x。如果它为空,则使用 y 如果为空,则使用 z
这将是COALESCE
:
order by coalesce(w,x,y,z) desc
这将为您提供如下结果。首先是所有以最大值开头的行(在我的示例中为 8),然后是所有以下一个值开头的行(在我的示例中为 7)。
+ --+---+---+---+ | w | x | 是 | z | + --+---+---+---+ | 8 | 7 | 6 | 5 | | | | 8 | 0 | | | 8 | 6 | 8 | | 8 | 8 | 8 | 8 | | | | 7 | 0 | | | 7 | 8 | 9 | + --+---+---+---+
如果您想在这些行中进一步排序,请扩展该ORDER BY
子句,例如:
order by coalesce(w,x,y,z) desc, coalesce(x,y,z) desc, coalesce(y,z) desc, z desc
推荐阅读
- python - 机器人 - 如何继续失败,但使用 python 脚本而不是关键字突出显示报告中的失败
- sql - Spring boot JPA - 数据库中实体的主键
- symfony - 在 foreach 中使用 formBuilder 生成多个字段
- r - ggplot增加轴标签和轴刻度之间的距离
- google-sheets - 谷歌表格公式删除所有标点符号,不包括句点 (.)
- javascript - 如何在哈希模式下使用 Vue 路由器查询参数?
- mongodb - 如何在 Golang 中为 mongo DB $match 创建动态 bson
- javascript - 用于最终下拉填充的信息数组的“正确”JSON 格式
- loops - vba for each element loop error发生在第二个循环
- wordpress - Elementor(Wordpress):如何基于 elementor 模板为类别添加类别特定内容?