#mysql #sql
#mysql #sql
Вопрос:
Я не могу найти ответ на свою проблему.
У меня есть эти данные :
Name | Total | YTD
------ ------- ----
Item1 | 1 | 1
Item2 | 2 | 1
Это должно выполняться следующим образом: если Total имеет значение 1, то нужно посмотреть столбец с начала года, если столбец имеет значение, то показать соотношение между ними. Мне тоже НУЖНО общее значение из всех 1. возможно ли этого достичь?
Я пробовал этот способ:
CASE
WHEN TOTAL = 1
THEN YTD
ELSE RATIO
END AS RESULT.
Как это должно выглядеть: Случай, когда total = 1, затем проверьте с начала года, если true, подсчитайте сумму и найдите соотношение.
Комментарии:
1. Попробуйте
if(Total = 1,YTD, YTD / Total)
для столбца, который вы описываете.2. я попробовал IF (Total = 1, С начала года, С начала года / Total). но проблема в том, что таблица может иметь много разных имен, и мне нужно подсчитать, сколько разных общих имен и сколько общих имен для этого конкретного случая было с начала года.
Ответ №1:
Это можно сделать многими способами. Например, пользовательский регистр stmt
select case when Total = 1 then
YTD
else
ratio
end as result
from tablename;
Ответ №2:
Можете ли вы попробовать этот вариант выбора
, когда (total = 1 и ytd<>NULL) затем ytd / total else общий конец как результат из tablename