powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Группировка с выбором
13 сообщений из 13, страница 1 из 1
Группировка с выбором
    #39943505
Rphoenix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Допустим, есть такой запрос:

select case when id in (1,2,3,4) then 'Начальная школа'
when id in (5,6,7,8,9) then 'Средняя школа'
when id in (10,11) then 'Старшая школа'
end Class_type,
COUNT(*), sum(case when s.ocenka>4 then 1 end as) 'Отличники' from class c
group by Class_type

Нужно, чтобы в таком виде отчета было при COUNT(*) 5 класс отходил в начальную школу, а при sum как есть.....
это для примера, у меня более сложный запрос.
...
Рейтинг: 0 / 0
Группировка с выбором
    #39943507
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос-то в чём? sum/count(case...) за тебя написать?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Группировка с выбором
    #39943514
Rphoenix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов Рустам, ну напиши, если знаешь как.
...
Рейтинг: 0 / 0
Группировка с выбором
    #39943515
KreatorXXI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Rphoenix,

по-моему, такое требование - какая-то хрень. С логикой проблемы. Но это ладно. По сути это два разных запроса. Можно попытаться сделать через union и select from select. Может ещё заморочиться оконными функциями.
...
Рейтинг: 0 / 0
Группировка с выбором
    #39943517
Фотография Старый плюшевый мишка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я бы завёл справочник "школ" и табличку с вхождением в них нумеров классов и всю оставшуюся жизнь не мудохался с этажерками во всяких разных запросах.
...
Рейтинг: 0 / 0
Группировка с выбором
    #39943521
KreatorXXI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KreatorXXI,

вот так, например:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
select n, sum(iif(t=1, c, 0)), sum(iif(t=2, c, 0))
from
(
    select case
           when a.priz_spr between 1 and 4 then 'Начальная школа'
           when a.priz_spr between 5 and 8 then 'Средняя школа'
           when a.priz_spr between 9 and 11 then 'Старшая школа'
           end n,
           count(*) c,
           1 t
    from sprav a
    where a.priz_spr<=11
    group by 1
    union all
    select case
           when a.priz_spr between 1 and 5 then 'Начальная школа'
           when a.priz_spr between 6 and 8 then 'Средняя школа'
           when a.priz_spr between 9 and 11 then 'Старшая школа'
           end n,
           count(*) c,
           2 t
    from sprav a
    where a.priz_spr<=11
    group by 1
)
group by 1
...
Рейтинг: 0 / 0
Группировка с выбором
    #39943525
Фотография Старый плюшевый мишка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KreatorXXI,

Не прими пожалуйста за наезд на прогресс и искусство, но вот представь себе. Пройдёт вирус, через некоторое время камушки в экономическом калейдоскопе утрясутся и займут новое относительно твёрдое положение, и перед властной вертикалью опять встанет во весь рост задача на чём-то создавать видимость своей бурной и полезной деятельности и пилить бюджет. И чего бы не прийти в голову этой самой вертикали идея перетасовать с этой целью вхождение классов в школы. Непаханное ведь поле для создания комитетов и подкомитетов, разработки креативных методических материалов и тэ дэ и тэ пэ. И все запросы в приложении и хранимках придётся перетрахивать (С) Лукашенко вместо лёгкого движения руки по изменению нескольких записей в микротабличке.
...
Рейтинг: 0 / 0
Группировка с выбором
    #39943543
KreatorXXI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Старый плюшевый мишка,

да без проблем. ТС сказал, что это для примера. Возможно, у него структура баз как Вы предлагаете. В принципе для этого есть отдельная ветка. Я тоже не сторонник оперировать конкретными цифрами.
Оценки тоже надо бы в справочник загонять. Не везде пятибальная система. Сейчас работаю над задачей "Оценка инструмента". Заказчик хочет оценивать в мордах (грустная, нейтральная, радостная). В численном виде - 0, 50, 100. На мой взгляд, кривовато, мягко говоря. Особенно когда средний результат за месяц будет "0.2". Но переубедить не удалось. Моё мнение - взять за основу пятибальную систему, начиная с единицы - никого не впечатлило. В общем, я нарисовал справочник. Пусть заказчик сам решает, какую систему оценок применять. Что-то мне подсказывает, три морды не приживутся.
...
Рейтинг: 0 / 0
Группировка с выбором
    #39943551
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Старый плюшевый мишка,

Если за перетрахивание кучки хранимок в соответствии с новыми веяниями - платят отдельную денежку - почему бы и нет?-))))
...
Рейтинг: 0 / 0
Группировка с выбором
    #39943553
Фотография Старый плюшевый мишка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DarkMaster
Старый плюшевый мишка,

Если за перетрахивание кучки хранимок в соответствии с новыми веяниями - платят отдельную денежку - почему бы и нет?-))))


А ведь верно. Отпилить свой кусочек золотой гири
...
Рейтинг: 0 / 0
Группировка с выбором
    #39943574
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KreatorXXI,

Собственно шкала оценки чего-то - сильно предмето-зависимая штука.
...
Рейтинг: 0 / 0
Группировка с выбором
    #39943630
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Объедение в группировке
с первого раза никак, надо открыть все заново?
...
Рейтинг: 0 / 0
Группировка с выбором
    #39943908
KreatorXXI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan_Pisarevsky,

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


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