Как найти три верхних итога столбца с помощью SQL - PullRequest
0 голосов
/ 27 мая 2019

Попытка суммировать все столбцы в моей таблице и найти верхние 3 из них.

столбцы имеют только значение 1 или 0 .Вот почему я пытаюсь суммировать все входные данные, чтобы сравнить их друг с другом.

Я придерживался порядка по коду, интегрированному в sum ()

SELECT (ID)
FROM Student
ORDER BY SUM(C1), SUMC(C2)...SUM(C10)
lIMIT 3

Ответы [ 2 ]

1 голос
/ 27 мая 2019

Если я правильно понимаю, вы можете использовать union all для расчета суммы для каждого столбца, а затем order by и limit:

select c.*
from ((select 'col1', sum(col1) as s from t) union all
      (select 'col2', sum(col2) as s from t) union all
      . . . 
      (select 'col10', sum(col10) as s from t)
     ) c
order by s desc
limit 3;
0 голосов
/ 27 мая 2019

попробуй -

    SELECT TOP 3 (ID)
    FROM Student
    GROUP BY (ID)
    ORDER BY SUM(C1), SUMC(C2)...SUM(C10) DESC
...