sql - postgresql如何使用greatest function获取最大值的列名?

标签 sql postgresql case

我的表中有四列,分别是 col1、col2、col3、col4。 我可以通过使用找到最大的值(value)

select greatest(col1,col2,col3,col4) from mytable;

但我需要知道最大值的列名。

最佳答案

CASE :

select 
  case greatest(col1,col2,col3,col4) 
    when col1 then 'col1'
    when col2 then 'col2'
    when col3 then 'col3'
    when col4 then 'col4'
    else null
  end greatestcolumnname
from mytable;

关于sql - postgresql如何使用greatest function获取最大值的列名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56392657/

相关文章:

go - 这个空的 select-case-default 代码块有什么作用?

mysql - 计算明天是哪一天,如果是星期日则显示另外两天 - Mysql

linux - 如何递归更改文件名的大小写?

c# - SQL Server 使用表中的一些数据生成数据

c# - C#中的sql插入命令

postgresql - Doctrine2 : YEAR, PostgreSQL 的 MONTH、DAY 或 DATE_FORMAT

database - 将列添加为外键会导致外键约束中引用的 ERROR 列不存在

mysql - 如何向MySQL动态表中插入数据?

sql - postgres 无法识别函数中的临时表

sql - PostgreSQL 和时间点恢复