Гость
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Помогите с запросом ) / 7 сообщений из 7, страница 1 из 1
01.10.2021, 12:15
    #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
01.10.2021, 12:33
    #40101277
kdv
kdv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом )
segor,

см. group by.
...
Рейтинг: 0 / 0
01.10.2021, 13:00
    #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
01.10.2021, 13:07
    #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
01.10.2021, 13:22
    #40101310
segor
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом )
Мимопроходящий,

спасибо, почитаем )
...
Рейтинг: 0 / 0
01.10.2021, 15:29
    #40101365
kdv
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
01.10.2021, 17:51
    #40101402
Старый плюшевый мишка
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом )
kdv

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


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


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