MySQL столбец показа, основанный на значении - PullRequest
0 голосов
/ 10 июля 2019

У меня необычная структура таблицы, которая выглядит следующим образом:

fruit   january   february   march
----------------------------------
apple   10        9          3
banana  2         1          1
grape   8         7          7

Какой тип выбора данного «яблока» в качестве значения строки в столбце фруктов даст мне столбец и наибольшее число для этого столбца, т. Е.

яблоко, январь, 10

1 Ответ

2 голосов
/ 10 июля 2019

Ваша необычная структура стола допускает сложные и не очень элегантные решения.Вы можете использовать функцию greatest(), чтобы получить максимальное значение для 'apple', и использовать его в выражении CASE, чтобы получить название месяца:

select
  fruit,
  case greatest(january, february, march)
    when january then 'january'
    when february then 'february'
    when march then 'march'
  end,
  greatest(january, february, march)
from tablename
where fruit = 'apple'

Я надеюсь, что выпонять, что нужно делать, если таблица содержит 12 столбцов за 12 месяцев.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...