Гость
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Задача: Count по разным условиям / 6 сообщений из 6, страница 1 из 1
11.11.2019, 12:59
    #39887428
Antonnew
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задача: Count по разным условиям
помогите, плиз решить задачу

есть 2 талицы

agent_id date ID
ivanov 01.01.2000 0:00 1
Petrov 02.01.2000 10:00 1
Sidorov 03.01.2000 10:00 2
ivanov 01.01.2000 0:00 1
Petrov 02.01.2000 10:00 3
Sidorov 03.01.2000 10:00 1
ivanov 01.01.2000 0:00 2
Petrov 02.01.2000 10:00 3
Sidorov 03.01.2000 10:00 1
Petrov 01.01.2000 0:00 2
Sidorov 02.01.2000 10:00 3


ID_t name
1 snikers
2 mars
3 bounti


необходимо получить результат в виде

agent_id count1(01/01/2000) count2
ivanov 3 2
Petrov
Sidorov

где Иванов сделал 3 продажи за 01,01,2000, из них 2 было по сникерс
...
Рейтинг: 0 / 0
11.11.2019, 13:13
    #39887442
j2k
j2k
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задача: Count по разным условиям
Antonnew, А почему у петрова пусто? он свой марс сразу съел?
...
Рейтинг: 0 / 0
11.11.2019, 13:17
    #39887447
Antonnew
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задача: Count по разным условиям
j2k,

нет петров\сидоров - по ним также должны воводиться данные, как и по иванову
...
Рейтинг: 0 / 0
11.11.2019, 13:29
    #39887449
-2-
-2-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задача: Count по разным условиям
Antonnew
нет петров\сидоров - по ним также должны воводиться данные, как и по иванову
Вот не надо наговаривать на Sidorov. Первого числа он закусывал неучтенными твиксами.
...
Рейтинг: 0 / 0
11.11.2019, 13:38
    #39887454
Antonnew
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задача: Count по разным условиям
-2-,


да хоть контрофактной колбасой, как посчитать это? :)
...
Рейтинг: 0 / 0
11.11.2019, 13:38
    #39887455
Stax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задача: Count по разным условиям
Antonnew,

Код: plsql
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.
27.
28.
29.
30.
31.
32.
33.
34.
35.
SQL> ed
Wrote file afiedt.buf

  1  with t1 (agent_id,dat,ID) as (
  2  select 'ivanov',to_date('01.01.2000 0:00','DD.MM.YYYY HH24:MI'),   1 from dual union all
  3  select 'Petrov',to_date('02.01.2000 10:00','DD.MM.YYYY HH24:MI'),  1 from dual union all
  4  select 'Sidorov',to_date('03.01.2000 10:00','DD.MM.YYYY HH24:MI'), 2 from dual union all
  5  select 'ivanov',to_date('01.01.2000 0:00','DD.MM.YYYY HH24:MI'),   1 from dual union all
  6  select 'Petrov',to_date('02.01.2000 10:00','DD.MM.YYYY HH24:MI'),  3 from dual union all
  7  select 'Sidorov',to_date('03.01.2000 10:00','DD.MM.YYYY HH24:MI'), 1 from dual union all
  8  select 'ivanov',to_date('01.01.2000 0:00','DD.MM.YYYY HH24:MI'),   2 from dual union all
  9  select 'Petrov',to_date('02.01.2000 10:00','DD.MM.YYYY HH24:MI'),  3 from dual union all
 10  select 'Sidorov',to_date('03.01.2000 10:00','DD.MM.YYYY HH24:MI'), 1 from dual union all
 11  select 'Petrov',to_date('01.01.2000 0:00','DD.MM.YYYY HH24:MI'),   2 from dual union all
 12  select 'Sidorov',to_date('02.01.2000 10:00','DD.MM.YYYY HH24:MI'), 3 from dual
 13  )
 14  ,t2 (ID_t, name    ) as (
 15  select 1,'snikers' from dual union all
 16  select 2,'mars'            from dual union all
 17  select 3,'bounti'  from dual
 18  )
 19  select
 20    agent_id
 21   ,count(decode(trunc(dat),date '2000-01-01',1)) cc_2000_01_01
 22   ,count(case when trunc(dat)=date '2000-01-01' and name='snikers' then 1 end) cc_snikers
 23  from t1,t2 where t1.id=t2.id_t(+)
 24  group by agent_id
 25* order by 1
SQL> /

AGENT_I CC_2000_01_01 CC_SNIKERS
------- ------------- ----------
ivanov              3          2
Petrov              1          0
Sidorov             0          0



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


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