|
select count(distinct ...)
|
|||
---|---|---|---|
#18+
Комрады, запутался) Есть начальный запрос вида: Код: sql 1. 2. 3. 4.
Далее потребовалось добавить количество строк: Код: sql 1. 2.
Все ОК. Далее потребовалось добавить количество различных значений B (COUNT( DISTINCT T.B)): Код: sql 1. 2.
Запрос естественно валиться с ошибкой, что невозможно сделать выборку данных A, т.к. столбец не содержится в стат. функции / GROUP_BY. Как корректно получить количество разных значений B? Разбивать на несколько запросов не вариант, т.к. блок WHERE слишком большой. По идее можно получить через DENSE_RANK(), но не могу придумать как. Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
17.07.2020, 17:38 |
|
select count(distinct ...)
|
|||
---|---|---|---|
#18+
Tketano, напишите в колонке коррелированный подзапрос, что там надо подсчитать. Или некоррелированный. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.07.2020, 19:32 |
|
select count(distinct ...)
|
|||
---|---|---|---|
#18+
Владислав Колосов, Так там будет бесконечный блок WHERE. Запрос превратиться в кашу. Если только CTE вводить разве что. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2020, 09:51 |
|
select count(distinct ...)
|
|||
---|---|---|---|
#18+
Tketano Комрады, запутался) Есть начальный запрос вида: Код: sql 1. 2. 3. 4.
Далее потребовалось добавить количество строк: Код: sql 1. 2.
Все ОК. Далее потребовалось добавить количество различных значений B (COUNT( DISTINCT T.B)): Код: sql 1. 2.
Запрос естественно валиться с ошибкой, что невозможно сделать выборку данных A, т.к. столбец не содержится в стат. функции / GROUP_BY. Как корректно получить количество разных значений B? Разбивать на несколько запросов не вариант, т.к. блок WHERE слишком большой. По идее можно получить через DENSE_RANK(), но не могу придумать как. Спасибо! Интересно, пачиму тредстартер напесал: COUNT(*) OVER(), , но COUNT(DISTINCT B). Наверное, религиозные убеждения? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2020, 10:19 |
|
select count(distinct ...)
|
|||
---|---|---|---|
#18+
Tketano, Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2020, 10:59 |
|
select count(distinct ...)
|
|||
---|---|---|---|
#18+
aleks222, Ну вы внимательно читайте, как трансформировался запрос. Как вы напишите Код: sql 1. 2.
без OVER? Далее был подключен COUNT (DISTINCT) для объяснения на пальцах, что потребовалось добавить. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2020, 18:40 |
|
select count(distinct ...)
|
|||
---|---|---|---|
#18+
Tketano aleks222, Ну вы внимательно читайте, как трансформировался запрос. Как вы напишите Код: sql 1. 2.
без OVER? Далее был подключен COUNT (DISTINCT) для объяснения на пальцах, что потребовалось добавить. Как бы тебе сказать то, повежливее? У меня нет проблем с написанием запросов. В том числе и таких, каких хочет тредстартер. А вот у тебя, похоже, есть. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2020, 20:55 |
|
select count(distinct ...)
|
|||
---|---|---|---|
#18+
aleks222, Не пойму.. вы количество комментариев набиваете для профиля? Или хотите поумничать заезженными шутками про "религиозные убеждения"? авторУ меня нет проблем с написанием запросов. В том числе и таких, каких хочет тредстартер. А вот у тебя, похоже, есть. Мы очень рады за вас, держите всех в курсе какой вы умный. Замечательно, что хоть обсуждение на форуме поднимает вашу самооценку. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.07.2020, 10:59 |
|
|
start [/forum/topic.php?fid=46&fpage=53&tid=1685858]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
36ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
2ms |
others: | 266ms |
total: | 400ms |
0 / 0 |