powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Помогите с запросом )
7 сообщений из 7, страница 1 из 1
Помогите с запросом )
    #40101269
segor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет!

Есть таблица:
Код: plsql
1.
2.
3.
4.
5.
6.
CREATE TABLE ACCOUNTS (
    ID               INTEGER NOT NULL,
    TEL_NUM          VARCHAR(20),
    MESSAGES_COUNT   INTEGER,
    ID_STATE         INTEGER,
);



Помогите , пожалуйста, с запросом, который позволяет получить значения полей id и tel_num записи из таблицы Accounts для которой id_state=1 а messages_count минимально.
Заранее спасибо)
...
Рейтинг: 0 / 0
Помогите с запросом )
    #40101277
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
segor,

см. group by.
...
Рейтинг: 0 / 0
Помогите с запросом )
    #40101292
segor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kdv,

Смотрел. Но не получилось. Родил это:
Код: plsql
1.
select min(id) min_id from accounts where messages_count = (SELECT min(messages_count) FROM ACCOUNTS  where id_state = 1) and id_state = 1



Можно ли обойтись без вложенного запроса?
...
Рейтинг: 0 / 0
Помогите с запросом )
    #40101298
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
01.10.2021 13:00, segor пишет:
> Можно ли обойтись без вложенного запроса?

можно.

Код: sql
1.
2.
3.
4.
5.
6.
SELECT FIRST 1
....
FROM
....
GROUP BY ...
ORDER BY ...


Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Помогите с запросом )
    #40101310
segor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мимопроходящий,

спасибо, почитаем )
...
Рейтинг: 0 / 0
Помогите с запросом )
    #40101365
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
segorМожно ли обойтись без вложенного запроса?
накой он тут вообще.
segor значения полей id и tel_num
вам надо определиться, в каком смысле вы хотите получить эти столбцы.
Ну вот у вас id указан как not null, но неясно, это первичный ключ, или нет.
Если ПК, то он же уникальный, и группировать по нему никакого смысла нет.
Группировка выберет
... min(message_count)
from accounts
where id_state = 1
group by ???

минимальные значения из какой-то ГРУППЫ записей. Если вам нужны id, и tel_num, то тут может помочь трюк:
min(message_count), min(id), min(tel_num)
...
т.е. по этим столбцам указать агрегаты, любые, всё равно они выдадут конкретное значение.
Вопрос в том, по какому столбцу группировать. В вашей структуре я таких не вижу.
Можно просто написать
select * from accounts
where id_state = 1
order by message_count desc
и вы увидите сначала минимальные кол-ва сообщений. Можно еще ограничитель first 10 написать.

Так что, надо определиться с тем, ЧТО вы хотите получить из этих данных. А уже потом запрос писать.
...
Рейтинг: 0 / 0
Помогите с запросом )
    #40101402
Фотография Старый плюшевый мишка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv

Так что, надо определиться с тем, ЧТО вы хотите получить из этих данных. А уже потом запрос писать.


Золотые слова, Юрий Венедиктович! (С)
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Помогите с запросом )
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]