【问题标题】:Fetching minimum value based on two column in Mysql基于Mysql中的两列获取最小值
【发布时间】:2018-04-11 07:25:13
【问题描述】:

我有一张桌子,看起来像:

ID     Fig1     Fig2
A-1    10       -18
A-1    15        20
A-1    25        75
A-2    18        22
A-2    34        70

现在我想通过考虑 Fig1Fig2 来获取每个唯一 ID 的最小值。

输出将是:

ID     Min Value
A-1   -18
A-2    18

【问题讨论】:

    标签: mysql sql


    【解决方案1】:

    只需UNION 列并找到MINIMUM 值。

    试试这个:

    SELECT ID, MIN(D.Fig1) MinValue
    FROM(
        SELECT ID,Fig1 FROM YourTable
        UNION
        SELECT ID,Fig2 FROM YourTable
    )D
    GROUP BY ID
    

    【讨论】:

      【解决方案2】:

      试试这个:

      SELECT
          ID, 
          MIN(LEAST(Fig1, Fig2)) AS Min_value
      FROM yourTable
      GROUP BY ID
      

      【讨论】:

        【解决方案3】:

        使用简单的CASE WhenMin 函数声明:

                Select ID,
                CASE WHEN min(Fig1)>min(FIG2) Then min(FIG2)
                WHEN min(Fig1)<min(FIG2) Then min(FIG1)
                Else NULL End AS FIG
                from 
                #TABLE 
                Group by ID
        

        输出:

        【讨论】:

          【解决方案4】:

          可能与 MySQL Select minimum/maximum among two (or more) given values 重复

          我想你正在寻找:

          GREATEST()
          

          LEAST()
          

          在这里你会找到一个工作小提琴:http://www.sqlfiddle.com/#!9/a762df/2

          结果查询将是

          select ID, LEAST(MIN(Fig1),MIN(Fig2)) from dummy group by ID
          

          【讨论】:

            【解决方案5】:

            试试这个答案:

            SELECT ID, LEAST(Fig1, Fig2) AS Min_value 
            FROM testTable 
            GROUP BY ID
            

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2014-03-25
              • 2018-10-14
              • 1970-01-01
              • 2014-11-01
              • 2019-07-07
              • 2013-05-16
              • 2022-01-01
              • 1970-01-01
              相关资源
              最近更新 更多