mysql比较两个表中的某个字段大小,并取最大值

发布网友 发布时间:2022-04-24 02:39

我来回答

3个回答

懂视网 时间:2022-04-10 19:46

今天看到了一道题,简单讲就是核心问题,表t中有两列a,b,使用sql实现:当a>b时,选择a列,否则选择b列。

之前工作中也遇到类似问题,需要使用Mysql条件判断函数IF或者CASE。

  • IF函数的语法是 :IF(expr,v1,v2),如果表达式expr是true(expr<>0 and expr <> NULL),则函数返回v1,反之返回v2。
  •   所以这道题可以这么写:

    select IF(a>b, a , b) from t;
    

     

  • CASE函数:CASE expr WHEN v1 THEN r1 [WHEN v2 THEN r2] [ELSE rm] END, 如果expr值等于某个vn,则返回对应位置THEN后面的结果。如果与所有值都不想等,则返回ELSE后面的rn
  •   这道题也可以这么写:

    select CASE WHEN a>b THEN a ELSE b from t;
    

      

      

    Mysql条件判断函数使用-选择两列中较大一列数据

    标签:核心   cas   今天   选择   pre   数据   结果   select   expr   

    热心网友 时间:2022-04-10 16:54

    SELECT
    CASE WHEN A.DATE > B.DATE
               THEN A.DATE
               ELSE B.DATE
               END
    FROM A T1
    JOIN B T2
    ON A.XX = B.XX

     

    你把这两张表的关系补全 就可以比较了。

    追问没有关系的两张表不能比较吗

    追答没关系哪你知道哪行跟哪行比么?
    比如
    A表
    日期
    20130101
    20140101

    B表
    日期
    20110101
    20100101

    这两张表,没有关系,那怎么比? A表2013年的跟B表2011年的比,还是2010年的?

    热心网友 时间:2022-04-10 18:12

    select max(date) from (
     select max(date) date from A
     unoin all
     select max(date) date from B
     ) a

    声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com