PostgreSQL-查找最高列值

时间:2019-01-05 19:18:19

标签: node.js reactjs postgresql

比方说,我有一张桌子可以追踪学生的考试成绩。

libc.a

如果我希望highest_score列列出得分最高的test#(例如,如果得分分别为test1:90,test2:95,test3:85,test4:90,那么highest_score将列出test2),如何我可以算一下吗?可以仅在PostgreSQL上完成所有这些工作吗?还是我需要在后端进行计算并将结果发送回表中?

我在前端使用React,在后端使用Node。

1 个答案:

答案 0 :(得分:1)

使用case表达式:

update scores
set highest_score = case 
    when test1 = greatest(test1, test2, test3, test4) then 'test1'
    when test2 = greatest(test1, test2, test3, test4) then 'test2'
    when test3 = greatest(test1, test2, test3, test4) then 'test3'
    else 'test4'
end

函数greatest()是在Postgres 8.1中引入的。

相关问题