比方说,我有一张桌子可以追踪学生的考试成绩。
libc.a
如果我希望highest_score列列出得分最高的test#(例如,如果得分分别为test1:90,test2:95,test3:85,test4:90,那么highest_score将列出test2),如何我可以算一下吗?可以仅在PostgreSQL上完成所有这些工作吗?还是我需要在后端进行计算并将结果发送回表中?
我在前端使用React,在后端使用Node。
答案 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中引入的。