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

Крч я всегда думал что аргегация возвращает только уникальные записи

согласно условия

select individual, max(date_born)
from people
group by individual;

Вот этот запрос возвращает такие данные
|individual|max |
|----------|-----------------------|
|30 |2010-01-01 00:00:00.000|
|10 |2002-01-01 00:00:00.000|
|20 |2007-01-01 00:00:00.000|

А если использовать этот запрос как подзапросс в where, то он возвращает все совпавшие комбинации, небольшой диссонанс случился

select people.name ,individual, date_born
from people
where (individual ,date_born) in (select individual, max(date_born)from people group by individual);

А этот запрос возвращает вот такие данные
|name |individual|date_born |
|-----|----------|-----------------------|
|vika |10 |2002-01-01 00:00:00.000|
|vika |20 |2007-01-01 00:00:00.000|
|oleg |30 |2010-01-01 00:00:00.000|
|vika |20 |2007-01-01 00:00:00.000|
|lesya|20 |2007-01-01 00:00:00.000|

Как видно сдесь повторяются некоторые записи

Как это можно объяснить, есть некое правило что если запрос является подзапросом то он возращает все уникальные строки согласно условию подзапроса?

11 ответов

86 просмотров

Запрос в подзапросе возвращает сгруппированные записи. Вопрос в том, что хранится в people

Escapewithme-Шумбасов Автор вопроса
Tim Safari
Запрос в подзапросе возвращает сгруппированные зап...

select * from people; |id |individual|date_born |name | |---|----------|-----------------------|-----| |1 |10 |2000-01-01 00:00:00.000|masha| |2 |10 |2001-01-01 00:00:00.000|katya| |3 |10 |2002-01-01 00:00:00.000|vika | |5 |20 |2007-01-01 00:00:00.000|vika | |6 |30 |2010-01-01 00:00:00.000|oleg | |4 |20 |2007-01-01 00:00:00.000|lesya| |7 |20 |2007-01-01 00:00:00.000|vika |

Escapewithme-Шумбасов Автор вопроса
Tim Safari
Запрос в подзапросе возвращает сгруппированные зап...

Ну да, если просто запрос с группировкой возвращает уникальные записи согласно запросу, то выходит что тот же самый запрос если использовать как подзапрос вернёт все данные группируя их.

Timus
ну сделай distinct и не мучай мозг

мозг мучать полезно для развития

Escapewithme-Шумбасов Автор вопроса
Timus
ну сделай distinct и не мучай мозг

А нельзя сделать так чтобы подзапрос вернул сразу уникальные данные и не дублировал их?

Escapewithme-Шумбасов Автор вопроса

Вот, ниже пример

« аргегация возвращает только уникальные записи согласно условия да все верно «А если использовать этот запрос как подзапросс в where, да, потому что внутри (в подзаросе) уникальные, но сам то запрос без группировки, поэтому НЕ уникальные

Escapewithme-Шумбасов Автор вопроса

Я был уверен что если этот запрос возвращает допустим 3 записи и используя этот же запрос как подзапрос то он тоже вернёт 3 записи, но всё работает иначе. На уровне запроса нужно сделать группировку получается. Но сделать так чтобы подзапрос вернул сразу уникальные записи(без повторения записи если условие совпало) без повторения не получится выходит.

Escapewithme Шумбасов
Я был уверен что если этот запрос возвращает допус...

Кури мануал. Конструкция которую ты заюзал работает совершенно не очевидно.

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта