sql中怎么比较两个列中的最小值
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql中怎么比较两个列中的最小值相关的知识,希望对你有一定的参考价值。
-- 将两个字段叠加起来再比较-- 获取最小值
select min(fld) as MinVal
from
(
select fld1 as fld from tbTest
union all
select fld2 as fld from tbTest
) a 参考技术A 先分别把两列的最小值找出来,在互相比
Oracle SQL:比较 2 列中的所有值并交换它们
【中文标题】Oracle SQL:比较 2 列中的所有值并交换它们【英文标题】:Oracle SQL: Compare all values from 2 columns and exchange them 【发布时间】:2011-07-15 14:50:12 【问题描述】:我有一个 Oracle 数据库,其中有一个名为 myC
的表。在这张表中,我有几行,其中两个名为myCheight, myCwidth
。
我需要读取这些值并像在IF myCheight > myCwidth DO switch the values.
中一样比较它们
我试图从一行中读取值,但没有让它工作。我使用 Oracles Oracle SQL Developer。
这是我目前想出的:
set serveroutput on;
DECLARE
cursor h is select * from MyC;
type htype is table of h%rowtype index by number;
stage_tab htype;
master_tab htype;
BEGIN
open h;
loop
fetch h bulk collect into stage_tab limit 500;
for i in 1 .. stage_tab.count loop
master_tab(stage_tab(i).id) := stage_tabe(i);
end loop;
exit when h%notfound;
end loop;
close h;
end;
【问题讨论】:
【参考方案1】:你不能这样做吗?
UPDATE myC
SET myCheight = myCwidth,
myCwidth = myCheight
WHERE myCheight > myCwidth
【讨论】:
+1:同意。SET myCheight = myCwidth
没有在 myCwidth = myCheight
之前完成,它们“似乎”同时发生。
+1。您还可以添加一个标志:“不要在家里(或 MySQL)尝试这个”以上是关于sql中怎么比较两个列中的最小值的主要内容,如果未能解决你的问题,请参考以下文章
sql MIN()和MAX()允许您从表中的列中提取最小值和最大值。第1行显示MIN()示例,它选择最小值