Выборка минимального значения на основе двух столбцов в Mysql

0

У меня есть таблица, которая выглядит так:

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
Теги:

5 ответов

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
2

Попробуй это:

SELECT
    ID, 
    MIN(LEAST(Fig1, Fig2)) AS Min_value
FROM yourTable
GROUP BY ID
  • 0
    Наименее функция не сработала.
  • 0
    @VectorJX Протестировано в sqlfiddle
1

Попробуйте этот ответ:

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

возможно, дубликат MySQL. Выберите минимум/максимум из двух (или более) заданных значений

Я предполагаю, что вы ищете:

GREATEST()

а также

LEAST()

здесь вы найдете рабочую скрипку: http://www.sqlfiddle.com/#!9/a762df/2

результирующий запрос будет

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

Использование 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

Выход :

Изображение 174551

Ещё вопросы

Сообщество Overcoder
Наверх
Меню