2015-01-23 2 views
0

У меня есть таблица с тремя столбцами Расположение, граф Расположение, таблица из. Как я могу умножить (Count Location), а затем разделить его, чтобы получить процент.Как размножаться в том же столбце sql

Пример: Попытка разделить оба места, расположенные в одной колонке! а затем Multiple 100 (Count Location/Count Location)*100

Atlanta, GA 6 CL Table 
    Atlanta, GA 20 TW Table 
    The result (6/20)*100=30% 


|Location  |Count Location| Table From| 
------------------------------------------- 
    Atlanta, GA 6    CL Table 
    Atlanta, GA 20    TW Table 
    Austin, TX 27    TW Table 
    Austin, TX 5    CL Table 
    Chicago, IL 6    CL Table 
    Chicago, IL 19    TW Table 
    Corona, CA 6    CL Table 
    Corona, CA 50    TW Table 
    Dallas, TX 37    TW Table 
    Dallas, TX 3    CL Table 
    Denver, CO 3    CL Table 
    Denver, CO 19    TW Table 
    Houston, TX 21    TW Table 
    Houston, TX 11    CL Table 

Есть Есть способ сделать это для всех местоположений и показать результаты в новом столбце рядом с ними? Или мне нужно сделать новую таблицу, чтобы сделать ее проще?

+1

Какую базу данных вы используете? Вы должны соответствующим образом пометить свои вопросы. И что составляет 30% от 6 и 20? –

+0

извините за это, дайте мне знать, если это понятно сейчас. –

ответ

1

Хорошо, теперь я вижу. Вы хотите процент CL от TW. Вы можете сделать это с оконными функциями:

select t.*, 
     (100 * max(case when tablefrom = 'CL Table' then count end) over (partition by location)/ 
     max(case when tablefrom = 'TW table' then count end) over (partition by location) 
     ) as percentage 
from table t; 

Если вы просто хотите результат за место (что делает больше смысла для меня) просто использовать агрегирование:

select location, 
     (100 * max(case when tablefrom = 'CL Table' then count end)/
     max(case when tablefrom = 'TW table' then count end) 
     ) as percentage 
from table t 
group by location 
+0

Я предполагаю, что это будет работать для классификации по таблице, и если бы поняли, что он хотел классифицировать по местоположению, то это первая колонка. Поэтому, возможно, ему пришлось использовать заявление WITH! –

+0

ОШИБКА: столбец «count» не существует LINE 3: ... 00 * max (случай, когда «Таблица From» = «CL Table», а затем конец счета) ... ^ –

+0

У меня есть ошибка сверху. когда я попробую запрос. Я вижу, что логика скрывает этот запрос и выглядит хорошо. –

Смежные вопросы