Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Подскажите новичку / 5 сообщений из 5, страница 1 из 1
22.08.2013, 22:13
    #38375315
Mikhail Bel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите новичку
Задание:
Найдите самое распространенное имя таблицы (см. SYSIBM.SYSTABLES)
Сделал так:
Код: sql
1.
2.
-- Выдаем счетчик и название таблицы, группируя по имени и сортируя по убыванию
select count(name), name from sysibm.systables group by name order by 1 desc;


Получаю список таблиц и частот. Но надо выдать только одно имя, самое частое (первое).
Уже мозг свернул, не выходит...
...
Рейтинг: 0 / 0
22.08.2013, 22:20
    #38375319
Подскажите новичку
fetch first N rows only
...
Рейтинг: 0 / 0
23.08.2013, 11:32
    #38375597
Mikhail Bel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите новичку
Добрый Э - Эх,

Спасибо. А на чистом SQL можно извернуться?
...
Рейтинг: 0 / 0
23.08.2013, 12:09
    #38375668
Mikhail Bel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите новичку
Угу, можно извернуться.
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
-- Запрос внутри where выбирает все счетчики по группам, затем максимальный
-- из них. Основной запрос снова выбирает все счетчики по группам и сравнивает с тем,
-- где совпадает с максимальным.
select * from
  (select count(name) as CTR, name from sysibm.systables group by name) x1
where
  x1.ctr =
  ( select max(x.ctr) from (select count(name) as CTR, name from sysibm.systables group by name) x );
...
Рейтинг: 0 / 0
23.08.2013, 18:28
    #38376230
CawaSPb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите новичку
Mikhail Bel,

Вообще говоря, с точки зрения классической реляционной модели сам вопрос поставлен некорректно/неполно.

Если несколько имён будут иметь одинаковую частотность, будет возвращено несколько строк.
"Возьми любую из них" в классическом SQL'е не предусмотрено, но, конечно, можно сделать с помощью fetc first 1 row only или OLAP функций.
...
Рейтинг: 0 / 0
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Подскажите новичку / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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