Группировка как ценности в одну и добавление связанных ГРАФОВ

Снова, я приношу извинения за свое отсутствие знаний заранее. Если я должен добавить что-нибудь, чтобы помочь вам ответить на мой вопрос, пожалуйста просто спросить. Здесь идет....

У меня есть этот набор данных:

PERMIT                              # OF PERMITS
Individual NPDES w/ construction    0   
Individual NPDES w/o construction   0   
Renewals (COWS)                     2   
Approvals w/ Construction           21  
Renewals (CHICKENS)                 25  
Approvals w/ Construction           1   
Approvals w/o construction          1   
Renewals (CHICKENS)                 1

То, что я должен сделать, объединить подобные условия в колонке РАЗРЕШЕНИЯ и добавить связанное количество от # разрешений. Это может быть сделано? Заранее спасибо.

Система: Oracle 10g

0
С какими столами необходимо работать? Вы попробовали что-нибудь?
добавлено автор Gordon Linoff, источник
Я попробовал, какой @Deif, предложенный ниже о добавлении фиктивной колонки и группировке на основе той колонки, но это не работало (если я не делаю попытку его неправильно). Я закончил с рядами друг рядом с другом, но не сгруппировался. Есть 4 стола, чтобы работать с, но все важные ценности (как относящиеся к этому вопросу, выйдите из 1 стола, и главным образом ' РАСШИФРУЙТЕ s единственной области, DSKMTB_ACTIVITY_TYPE.ACTIVITY_TASK_LIST. Основная проблема состоит в том, что # колонки Разрешений - ГРАФ (DSKMTB_ACTIVITY_TYPE.ACTIVITY_TASK_LIST)', где в конечном продукте мне будут нужны ценности из той добавленной колонки...
добавлено автор user1983682, источник
... вместе, где ценности в "Типе Проекта" являются тем же самым. Это помогает вообще?
добавлено автор user1983682, источник

4 ответы

Это будет трудным сгруппировать ряды на субъективной основе, и я не советовал бы вам спускаться по тому маршруту. Вместо этого необходимо создать третью колонку под названием 'PERMIT GROUP', таким образом, можно собрать в группу каждое разрешение. Вопрос для того, что вы хотите, становится простым, как только это сделано.

0
добавлено
Это зависит, что подвергает сомнению вас, сделали и какие группы вы вставили. Я сделал это sqlfiddle для вас, чтобы посмотреть на и надо надеяться это поможет вам.
добавлено автор DFM, источник
Как я собрал бы в группу каждое разрешение, в противоположность группировке на основе той колонки? Я создал фиктивную колонку, но группирующийся на основе той колонки только помещает идентичные ряды разрешения, смежные друг с другом.Thank you
добавлено автор user1983682, источник
Кроме того, это группирует попытку СУММУ ранее ГРАФ ряды редактора в # колонки РАЗРЕШЕНИЙ?
добавлено автор user1983682, источник
Я группировался неправильно. Как только я сгруппировал несколькими вещами и СУММУ медиана # Разрешений, это работало! Спасибо за помощь.
добавлено автор user1983682, источник

Позвольте мне предположить, что у вас есть разрешения стол, у которого есть список всех ценностей разрешения.

select p.permit, count(a.ACTIVITY_TASK_LIST) as NumPermits
from Permits p left outer join
     DSKMTB_ACTIVITY_TYPE.ACTIVITY_TASK_LIST a
     on p.permit = a.permit   -- assuming join is on the actual name
group by p.permit
order by 1

Я думаю, что проблема получает 0 количество. Вы делаете это со списком всех ценностей, которые вы хотели бы (я называю это "водителем"), и затем оставил присоединяющимся в остальной части данных.

0
добавлено
Это в значительной степени, что я закончил тем, что делал. Оказывается, что я группировался неправильно. Большое спасибо за помощь!
добавлено автор user1983682, источник

Я думаю, что это может быть сделано с аналитическими функциями. Необходимо разделить данные разрешениями и calc. общим скручиванием жгутов разделение. Вот является общий пример на основе Oracle scott.emp столом, где вы видите количество (*) в этом deptno только. У отдела = 10 есть 3 служащих, 20 имеет 5 и т.д....:

SELECT * FROM 
 (SELECT deptno, ename, job, sal,
     COUNT(*) OVER (PARTITION BY deptno) cnt
   FROM scott.emp)
  -- WHERE deptno = 10 -- optional 
 /

DEPTNO  ENAME   JOB         SAL     CNT
-------------------------------------------------------
10      CLARK   MANAGER     2450    3
10      KING    PRESIDENT   5000    3
....
20      JONES   MANAGER     2975    5
20      FORD    ANALYST     3000    5
....
30      WARD    SALESMAN    1250    6
30      TURNER  SALESMAN    1500    6
0
добавлено
SELECT permitgroup, SUM(nrOfpermits)
FROM (SELECT substr(permit,1,instr(permit,' ')-1) permitgroup, nrOfpermits
      FROM permits)
GROUP BY permitgroup

Предположение, что "как условия" означает начинаться с того же самого слова, но вы могли легко изменить свои критерии подобия, изменив внутренний оператор SELECT.

Тестовый код

0
добавлено
SqlCom.ru - Стиль жизни SQL
SqlCom.ru - Стиль жизни SQL
908 участник(ов)

Правила чата - https://t.me/sqlcom/88269 @sqlcom - основной канал (только MS SQL) @sql_ninja - второй канал (SQL вопросы начального уровня и свободное общение) @Gopnegbot - Викторина по SQL Server (наберите в привате /quiz). Предложения в @sql_ninja

SQL_Ninja
SQL_Ninja
340 участник(ов)

Правила чата - https://t.me/sqlcom/88269 @sqlcom - основной канал (только SQL) @sql_ninja - второй канал (SQL вопросы начального уровня и свободное общение) @Gopnegbot - Викторина по SQL Server (наберите в привате /quiz)

Oracle RU
Oracle RU
303 участник(ов)

Русскоязычная группа по Oracle. — Архитектура СУБД — PL/SQL — Оптимизация — Администрирование — Вакансии Oracle (указать инфу по вилке ЗП и удалёнке) Приглашайте коллег :-) Запрещены: личные оскорбления, обсуждения оффтопик вопросов политики и религии