Я пытаюсь выбрать сумму значений в столбце isOK
для каждого разделенного Name
, но только если isOK = 1
на Day = 2
.Совокупность строк, если одна строка соответствует определенному условию
Запрос на следующем примере таблицы tablename
Name | Day | isOK
char | int | int
-----------------
Flo | 1 | 1
Seb | 1 | 1
Tim | 1 | 0
Flo | 2 | 1
Seb | 2 | 0
Tim | 2 | 1
должен дать Фло: 2 и Тим: 1, но не Seb: 1, так как его isOK
на Day
= 2 0.
I «Я пытался использовать SUM (isOK) с конструкциями IF, но он просто не работает. Мое альтернативное решение, чтобы выбрать все Name
, где isOK
= 1 и выбрать SUM (isOK) для каждого из имен, является медленным и, похоже, нуждается в улучшении.
Я думаю, это не так сложно, но я пробовал уже несколько часов, и я просто не могу объединить два моих запроса в один.
Я добавил скрипку, которая (наконец) дала мне ответ. Может быть, это даст и другим людям, в конце концов :) –
@ X.L.Ant Спасибо. Я не мог заставить скрипку работать - думаю, это может закончиться из-за высокой нагрузки или чего-то еще. – jpw
Думаю, да. SQLfiddle в последнее время многое сделал. –