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

SELECT dialogs.user_id, cd.chat_message, cd.created_at, u.first_name, u.last_name, u.updated_at,u.user_status FROM (SELECT d.user_id, MAX(d.message_id)

AS message_id
FROM
(
SELECT from_user_id AS user_id, MAX(id) AS message_id FROM chats WHERE to_user_id = 68
GROUP BY from_user_id

UNION

SELECT to_user_id AS user_id, MAX(id) AS message_id FROM chats WHERE from_user_id = 68
GROUP BY to_user_id) AS d
GROUP BY d.user_id) AS dialogs

LEFT JOIN chats cd ON cd.id = dialogs.message_id
LEFT JOIN users u ON u.id = dialogs.user_id;

можно ли это упростить? допустимо ли так или лучше делать ряд маленьких запросов? кто подскажет?

7 ответов

9 просмотров

я бы такое у ChatGPT спрашивал. Касательно 1 большой vs много маленьких вопросов зависит от специфики. Но как правило если можно что-то сделать одним запросом, то лучше это сделать одним запросом, т.к. меньше накладных расходов.

Александр-www Автор вопроса
Sergey Shitikov
я бы такое у ChatGPT спрашивал. Касательно 1 больш...

chatGPT что все к нему отправляют, он такой умный стал?)

Александр www
chatGPT что все к нему отправляют, он такой умный ...

просто то что ты спрашиваешь, это не сложная но рутинная задача. Мало кому интересно садиться и разбираться в чужих sql запросах.

Александр-www Автор вопроса
Sergey Shitikov
просто то что ты спрашиваешь, это не сложная но ру...

да, понимаю, может просто взгляд со стороны бегло - и очевидно решение. хотя понимаю везде всё индивидуально

Александр www
да, понимаю, может просто взгляд со стороны бегло ...

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

Александр www
chatGPT что все к нему отправляют, он такой умный ...

Обычная программа которая разработана профессиональными программистами , для не профессиональных программистов

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

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

30500 за редактор? )
Владимир
47
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Ребят в СИ можно реализовать ООП?
Николай
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
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
4
Он в одиночку это дело запилил или была какая-то команда?
Aquinary
12
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Всем привет, нужна как никогда, нужна помощь с IO в загрузчике. Пишу в code16 после установки сегментных регистров, пишу вывод символа. Пробовал 2 варианта: # 1 mov $0x0E, %a...
Shadow Akira
14
Карта сайта