2014-12-11 2 views
0

Пример:Mysql SUM уникальным, если не пусто

id | c1 | c2 
1 | aa | 5 
2 | | 1 
3 | | 3 
4 | aa | 5 

Я хочу, чтобы выбрать SUM(c2) и если дублируются значения на c1, то он будет считать только один ряд (дублируется c1 ВСЕГДА есть их же c2), но я также хочу, чтобы, если c1 пуст - тогда все равно его c2.

Выход примера должно быть: 9 (5 + 1 + 3)

+0

если 5, бб, 1 строка существует, вы хотите, чтобы aa, 9 и bb, 1 в качестве вывода? – radar

+0

@radar Я не понял ваш вопрос. Но если есть еще одна строка '5 | bb | 1', Тогда выход будет '10', потому что я хочу' SUM' 'c2' – HtmHell

ответ

0

Я думаю, что это должно быть работа (но немного дороже по времени запроса)

select sum(sum(c2),(select sum(c2) from table where c1 is not null)) from table where c1 is null group by c1; 
+0

Синтаксическая ошибка. Я думаю, что вам не хватает ')' где-то – HtmHell

+0

обновлено, я пропустил один) раньше от :) – BredeBS

Смежные вопросы