У меня есть таблица с несколькими столбцами в ней. Я хотел бы написать запрос, который итерации через каждую строку и найти общее количество всех строк, которые соответствуют столбцу в выбранной строке, а также найти количество всех строк, которые соответствуют 2 столбцам. С этими двумя значениями я хотел бы найти процентную разницу и напечатать их как column1, percent (query1 (column2)/query2 (column2 и column3)).Запрос, чтобы найти процентное различие каждой строки в sql-сервере
Ниже приведен запрос, который я написал
SELECT DISTINCT (t2.column1)
,(
SELECT count(DISTINCT column2)
FROM table1 t1
WHERE t1.column1 = t2.column1
ORDER BY column2
) AS total_count
,(
SELECT count(DISTINCT column2)
FROM table1 t1
WHERE t1.column1 = t2.column1
AND column3 IN (
10
,20
)
ORDER BY column1
,column2
,column3
) AS column3_count
FROM table1 t2;
Вышеприведенные работы запроса, но занимает много времени, чтобы обработать.
Я хочу, чтобы он, как
SELECT DISTINCT (column1)
,percentage(query1 that matches ALL rows WITH column1/query2 that match ALL rows WITH column1
AND SOME other CONSTRAINT)
FROM TABLE t1
Я хотел бы оптимизировать выше запрос тоже. Пожалуйста, дайте мне знать
Благодаря