2010-06-09 3 views
0

У меня есть эта таблица:Oracle - Граф различных значений столбца

Reason|Area_Code|Id 
x   dig  1 
x   dig  2 
y   dig  3 
h   util 4 
x   dig  5 

Я пытаюсь для SQL, которая возвращает:

Reason|Amount of distinct Reason|Area_code 
x    3     dig 
y    1     dig 
h    1     util 

я буду использовать этот результат для построения диаграммы. Я не знаю, как это сделать. Не могли бы вы помочь мне?

ответ

5

Попробуйте:

Select Reason, Count(*) AmountOfReason, Area_Code 
    From Table 
    Group By Reason, Area_Code 

... но это предполагает, что код_города всегда определяется разумом, то есть, они всегда в паре, что вы не имеете 2 строк в таблице YR как

x util 5 
x dig 6 

причина, если это было так, это не сработает.

+0

Привет, Чарльз, ваш комментарий правильный. Я имею в виду, что в этой таблице никогда не будет двух строк в качестве примера. Но я пробовал ваше решение и не работал. Я получил его ошибку: «не групповая групповая функция» –

+0

Тогда ваш sql не совпадает с тем, что выше. Вы пытаетесь просто использовать эту идею в другом запросе sql? Каждый раз, когда вы используете агрегированную функцию (например, Count (*)), у вас должно быть предложение Group By с определенными предметами в нем, и есть правила, которым вы должны следовать, определяя, какие другие выражения разрешены в предложении select. –

+0

Чарльз снова прав, я не использую Group By. Это действительно работает. Танк у вас очень очень! –

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