172 похожих чатов

Как подсчитать кол-во после группировки без подзапроса ? select count(*)

from (select key, id from table
group by key, id
having count(*) > 1);

47 ответов

24 просмотра

count(distinct)

Геннадий- Автор вопроса
oleg filippov
count(distinct)

нет select count(*) from table group by key, id having count(*) > 1; разве не сработает? нет и select count(*) from table нет

oleg filippov
Да. Однозначно да :))))

Ну, реально уровень советов какой-то совсем ученический-то.

Геннадий- Автор вопроса
Ilya Anfimov
Ну, реально уровень советов какой-то совсем ученич...

Ну так там такой уровень вопросов... как посчитать количество после группировки и в группировке те же поля что и в выборке. count distinct это...

Геннадий
screenshot нет, однозначно нет

не кажется что запрос тут и в примере несколько разный? Или мне показалось? :))) ну having вместе с distinct это вообще огонь :)))

А primary key у таблички е?

Ну, то есть можно — но там бездны, зачем вам туда?

Геннадий- Автор вопроса
oleg filippov
Ну так там такой уровень вопросов... как посчитать...

вопрос был не такой как сделать это без подзапроса @baekenov_rustam row_number() - да!

Ilya Anfimov
Ну, то есть можно — но там бездны, зачем вам туда?

ну смысла в этом нет, вопрос явно с собеса. Причём простой... В приведённом примере просто считают число уникальных сочитаний двух колонок в таблие

SELECT count(distinct t1.key, t1.id) FROM table t1 join table t2 ON t1.key=t2.key AND t1.id=t2.id AND t1.pkey <> t2.pkey

Геннадий
вопрос был не такой как сделать это без подзапроса...

в оригинальном запросе убирается having и пишется count distinct. в твоём с учетом формулы может и не отработает - хз. если напишешь на собесе row_number() на этот вопрос мне кажется не оценят....

oleg filippov
ну смысла в этом нет, вопрос явно с собеса. Причём...

Судя по тому, что ты ответил неправильно — не такой простой...

Ilya Anfimov
Судя по тому, что ты ответил неправильно — не тако...

О_о кто то выше то же самое написал... :))) но если я ответил неправильно видимо пора мне на пенсию не пройду собес по sql-ю в 3-й клас начальной школы :(

oleg filippov
О_о кто то выше то же самое написал... :))) но есл...

Не плачь, дорогой, не пройдёшь по скульному скулю — пойдёшь в начальники, там думать не надо...

Геннадий- Автор вопроса

почему я тестировал row_number дает лучший результат @comol1985 в оригинальном запросе убирается having и пишется count distinct куда убирается? мне надо подсчитать кол-во дубликатов с уникальным ( key, id) поэтому having ... > 1 нужон @tzirechnoy Чем вам row_number поможэт? - гугл

oleg filippov
О_о кто то выше то же самое написал... :))) но есл...

У меня там ещё join был, который важнее distinct.

Геннадий
почему я тестировал row_number дает лучший результ...

хм.... количество после группировки и количество дубликатов это по-твоему одно и то же?...

Геннадий
почему я тестировал row_number дает лучший результ...

И ты тожэ пошлёл бы куда-нибудь, спасибо.

Ilya Anfimov
У меня там ещё join был, который важнее distinct.

Я ваще не понял к чему там джойн... но начало было правильное

oleg filippov
Я ваще не понял к чему там джойн... но начало было...

Вот=вот, ты вообще не понял оригинального запроса и что делает having.

Ilya Anfimov
Вот=вот, ты вообще не понял оригинального запроса ...

да и не пытался... там явно написали задачу на "количетсво после группировки" и в группировке такие же поля как и в выборке. Ну потом оказалось что история другая...

Да не, щас всё нормально... просто задача трансформировалось с поиска уникальных в поиски дублей, для поиска дублей я хз как без подзапроса, видимо и правда с rownumber только извращаться.

Геннадий- Автор вопроса
Ilya Anfimov
И ты тожэ пошлёл бы куда-нибудь, спасибо.

пожалуйста select row_number() over() num from table group by key, id having count(*) > 1 order by num desc limit 1; @comol1985 хм.... количество после группировки и количество дубликатов это по-твоему одно и то же?... по-моему я запрос написал в нем having не для красоты же наверное

Геннадий
пожалуйста select row_number() over() num from t...

а я хз что у тебя в голове. Ты написал "как посчитать количество после группировки" я на having даже не смотрел ибо его не сильно прикольно использовать по планам запроса и т.п. по твоему описанию задача казалась предельно тупой, я и поржал

Геннадий- Автор вопроса
oleg filippov
а я хз что у тебя в голове. Ты написал "как посчит...

ну да нахрен запрос смотреть 😀 distinc ничего не решит группировка объединит они так будут по одному count(distinc после группировки выведет 1 1 1

Геннадий
ну да нахрен запрос смотреть 😀 distinc ничего не р...

без having решит. Тупо выведет количество различных записей. Что то же самое что "количество после группировки" если у тебя в выборке и группировке одни и те же записи

Геннадий- Автор вопроса
oleg filippov
без having решит. Тупо выведет количество различны...

запрос внимательней смотреть нужно я считаю кол-во записей после группировки, а не кол-во записей в каждой группировке

Геннадий
запрос внимательней смотреть нужно я считаю кол-во...

Ну как бы описывать тоже надо внимательно... я обычно "запрос который не так работает" вообще не смотрю ибо может не туда увести... ну или смотрю что выбираем и откуда только

Геннадий
пожалуйста select row_number() over() num from t...

Я что-то думал, что window functions отрабатывают до GROUP BY.

Геннадий- Автор вопроса
Ilya Anfimov
Я что-то думал, что window functions отрабатывают ...

все конец рабочего дня пятницы - суши весла и клавиатуру!🤞🤟👌😉😃

Геннадий
все конец рабочего дня пятницы - суши весла и клав...

Мне тут боевой разворот обратно на работу устроили, когда я ужэ срулил было.

Геннадий
а как же договор?

Есть минусы в семейных компаниях...

Геннадий
а как же договор?

Ну, и вообще -- когда это у меня нормированный рабочий день-то был? Разве что когда я акцыями с лотка у метро торговал, хе-хе. Да и то...

Геннадий- Автор вопроса
Ilya Anfimov
Есть минусы в семейных компаниях...

есть смысл обобщенного ответа для всех СУБД чем отличаются функции от процедур или для каждой СУБД свой ответ? Смотрел оракл там одни отличия в постресе другие (собес внутри компании на мидла)

Геннадий
есть смысл обобщенного ответа для всех СУБД чем от...

эм... функции возвращают значения процедуры нет и СУБД тут вообщем то особо не причём... Или я опять твой вопрос не понял?

Геннадий
есть смысл обобщенного ответа для всех СУБД чем от...

В mssql например ХП возвращают статусы а ещё можно вытащить значение последнего select statement выполненного в теле ХП В общем случае все как Олег описал но каждая реализация может накидать своих "плюшек"

Геннадий- Автор вопроса
oleg filippov
эм... функции возвращают значения процедуры нет и ...

процедура может возвращать значения через параметры в oracle процедура не может вызываться в select управление транзакциями также отличается от СУБД к СУБД в процедуре

Raimbek Rakhimbekov
В mssql например ХП возвращают статусы а ещё можн...

статусы, output параметры, дататсеты (и не последний, а все)

Геннадий
процедура может возвращать значения через параметр...

параметры по ссылке и по значению или параметры... это всё равно процедура... и в select она по идее не должна вызываться... Но тут или общим словом ответить или уже совсем детали собирать... а типов СУБД много...

Raimbek Rakhimbekov
В mssql например ХП возвращают статусы а ещё можн...

особенно в ms sql... там же ещё CLR хранимки могут быть... это вообще отдельный мир :(

Похожие вопросы

Обсуждают сегодня

Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
> Копаем глубже > Следующий момент был, когда я спросил его, знает ли он JavaScript. Он ответил, что его учили работать с C#. Я тоже в университете писал на C#, но даже там мн...
Oleg Volkov
4
И никого не интересует какие пакеты кто использует. ((% Заходишь на сайт симфони и видишь поддержку Украины - по законам РФ это ж экстремизм. Только никто не отказывается от с...
Am Ambrion
11
лучше скажите, причём тут паскаль?
Alexey Kulakov
36
Чтобы перехватить все нажимания буков на форме, надо хук ставить? Пробовал на форме ОнКейДаун, оно ловит клаву если фокус не на компоненте с вводом текста
Serjone
15
Но, может, есть уже проверенная? Наши требования такие: 1. Сообщения должны приходить из Инста в CRM оду 2. Должна быть возможность подключить несколько экаунтов Инстаграм. Р...
Alexander Sharoiko MSE / Александр Шаройко
7
Народ! Впервые клиенту пришло письмо от РКН, у вас, дескать, есть яндекс метрика, а нигде не написано, что вы ее юзаете. Никто не сталкивался?
Sasha Beep
14
Всем привет! вывожу на общей стр дочерние ресурсыв каждом ресурсе галерея, и первая фотка должна выводиться на общей [!DocLister? &prepare=photo !]
Alekso
12
А можно вопрос? Мне сегодня сказали что у меня функция (которая просто заполняет массив значениями) не правильная void Full(double * arr, int n) { for (int i = 0; i < n; i...
† C E †
7
Добрый вечер. Хочу чтобы у меня в классе поле было функцией, которая возвращает строку. Делаю так: interface ... TGetOutPath = function : String of object; ... protec...
Kirill Filippenok
12
Карта сайта