0

I have a table which look like:

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

Now I want to fetch minimum value against each unique id by considering Fig1 and Fig2.

Output Would be:

ID     Min Value
A-1   -18
A-2    18
DineshDB
  • 5,998
  • 7
  • 33
  • 49
Vector JX
  • 179
  • 4
  • 23

5 Answers5

2

Simply UNION the columns and find the MINIMUM value.

Try this:

SELECT ID, MIN(D.Fig1) MinValue
FROM(
    SELECT ID,Fig1 FROM YourTable
    UNION
    SELECT ID,Fig2 FROM YourTable
)D
GROUP BY ID
DineshDB
  • 5,998
  • 7
  • 33
  • 49
2

Try this:

SELECT
    ID, 
    MIN(LEAST(Fig1, Fig2)) AS Min_value
FROM yourTable
GROUP BY ID
kc2018
  • 1,440
  • 1
  • 8
  • 8
1

Using Simple CASE When and Min Fucntion statment :

        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

Mr. Bhosale
  • 3,018
  • 1
  • 17
  • 34
1

maybe duplicate of MySQL Select minimum/maximum among two (or more) given values

I suppose you are looking for:

GREATEST()

and

LEAST()

here u'll find a working fiddle: http://www.sqlfiddle.com/#!9/a762df/2

the resulting query would be

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

Try this answer:

SELECT ID, LEAST(Fig1, Fig2) AS Min_value 
FROM testTable 
GROUP BY ID
DineshDB
  • 5,998
  • 7
  • 33
  • 49
Pooja Rani
  • 11
  • 2