0
кажется простыми, но ... У меня есть данные, как так:PostGreSQL: усреднение ненулевых значения
pid score1 score2 score3
1 1 3 2
2 3 1
3 4
Я хочу сделать средний балл за три только там, где есть не являющиеся значения нуля. Аналогично sum(score1+score2+score3)/3
, но знаменатель по существу должен быть в сумме равным нулю значениям для данной строки, поэтому 3 для pid 1
, 2 для 2
и 1 для 3
.
Есть ли простая вещь, которую я здесь отсутствует?
Да, это хорошо. К сожалению, в моей работе у меня 15 столбцов, поэтому это большая уродливая линия, но это жизнь SQL. – Wells
Да, SQL оптимизирован для операций с колонками, а не с строк. Иногда мне было полезно писать сценарии с отложенными сценариями для генерации долгосрочных, но предсказуемых и структурированных SQL-запросов. –