根据Mysql中的两列获取最小值

时间:2018-04-11 07:25:13

标签: mysql sql

我有一张表格如下:

Fig1

现在,我想通过考虑Fig2ID Min Value A-1 -18 A-2 18 来针对每个唯一ID获取最小值。

输出将是:

        var dlist = await DeviceInformation.FindAllAsync();

        var output = "";
        foreach( var device in dlist)
        {
            output += $"Id:{device.Id}\r\n";
            output += $"Name:{device.Name}\r\n";
            output += $"Kind:{device.Kind}\r\n";
            output += "\r\n";
        }

5 个答案:

答案 0 :(得分:2)

只需UNION列,然后找到MINIMUM值。

试试这个:

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

答案 1 :(得分:2)

试试这个:

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

答案 2 :(得分:1)

使用简单CASE WhenMin Fucntion声明:

        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
  

OutPut:

enter image description here

答案 3 :(得分:1)

可能是MySQL Select minimum/maximum among two (or more) given values

的副本

我想你正在寻找:

model2

GREATEST()

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

结果查询将是

LEAST()

答案 4 :(得分:1)

试试这个答案:

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