2016-02-08 3 views
0
SELECT DISTINCT Course_NO, count(section_ID) Sections 
FROM SECTION 
group by course_No 
having count(section_id) > 3; 

Мне нужно использовать значения count (section_id) для определения общей емкости путем умножения каждого значения х на каждую секцию.Можете ли вы использовать результат подсчета в другой формуле

+0

Что вы хотите умножить на count (section_ID) на? Какова емкость каждого раздела? другой столбец? – Phani

+0

Можете ли вы подробнее рассказать о том, в каком поле вы будете входить - укажите пример с данными, если это возможно. – christiandev

+0

, если у меня есть в общей сложности 4 секции, и каждый раздел имеет емкость 30, мне нужно умножить 4 * 30. Я определил 4 раздела, используя счетчик в оракуле – Chris

ответ

0

Считаете ли вы использование инструкции «с»?

;with SampleData as 
(
SELECT DISTINCT 
    Course_NO, 
    COUNT(section_ID) Sections 
    FROM SECTION 
    GROUP BY course_No 
    HAVING COUNT(section_id) > 3 
) 
SELECT * FROM SampleData 

Это позволит вам легко повторно использовать эти показатели.

+0

Что до; в первой строке? – Chris

+0

Я не вижу, как повторно использовать значения count. извините, но новый – Chris

+0

полуколонна не необходимо, извините. Отсюда вы можете сделать «SELECT Course_No, разделы * 30 FROM SampleData» –

0

Вам не нужно использовать DISTINCT при группировке, ваш запрос будет работать с ним отлично.

SELECT 
    Course_NO 
    , COUNT(section_ID) Sections 
FROM 
    SECTION 
GROUP BY 
    course_No 
HAVING 
    COUNT(section_id) > 3; 

Теперь, чтобы использовать значение COUNT(), от того, что я понял - вы хотите продукт course_NO раз возникновения SECTION_ID для всех SECTION_ID происходит более чем в 3 раза. У Вас уже есть COUNT из собственного запроса, просто показать еще один столбец с продуктом:

SELECT 
    Course_NO 
    , COUNT(section_ID) [Sections] 
    , Course_NO * COUNT(section_ID) [Capacity] 
FROM 
    SECTION 
GROUP BY 
    course_No 
HAVING 
    COUNT(section_id) > 3; 

Или если у вас есть фиксированное число, которое вы хотите умножить на кол, заменить course_NO в столбце емкости с этим значением (второй запрос выше)

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