У меня есть таблица, которая выглядит так:
ID Fig1 Fig2
A-1 10 -18
A-1 15 20
A-1 25 75
A-2 18 22
A-2 34 70
Теперь я хочу получить минимальное значение по каждому уникальному идентификатору, рассмотрев Fig1
и Fig2
. Fig2
.
Результат:
ID Min Value
A-1 -18
A-2 18
Просто UNION
столбцы и найдите MINIMUM
значение.
Попробуй это:
SELECT ID, MIN(D.Fig1) MinValue
FROM(
SELECT ID,Fig1 FROM YourTable
UNION
SELECT ID,Fig2 FROM YourTable
)D
GROUP BY ID
Попробуй это:
SELECT
ID,
MIN(LEAST(Fig1, Fig2)) AS Min_value
FROM yourTable
GROUP BY ID
Попробуйте этот ответ:
SELECT ID, LEAST(Fig1, Fig2) AS Min_value
FROM testTable
GROUP BY ID
возможно, дубликат MySQL. Выберите минимум/максимум из двух (или более) заданных значений
Я предполагаю, что вы ищете:
GREATEST()
а также
LEAST()
здесь вы найдете рабочую скрипку: http://www.sqlfiddle.com/#!9/a762df/2
результирующий запрос будет
select ID, LEAST(MIN(Fig1),MIN(Fig2)) from dummy group by ID
Использование Simple CASE When
и 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
Выход :