2014-12-05 3 views
1

Это первая часть сумасшедшего запроса, который я должен собрать, поэтому ожидайте здесь еще одного вопроса!Функция MySql SUM в сочетании с тем, где условно

У меня есть эта таблица Table Description

То, что я пытаюсь сделать, чтобы получить список CONTEXT, которые имеют SUM(FILE_SIZE) больше 5 гигов.

У меня есть каждая часть запроса, за исключением того, что вставляем предложение where.

SELECT CONTEXT,SUM(FILE_SIZE) AS size FROM CONTENT_RESOURCE GROUP BY CONTEXT. 

Что у меня возникают проблемы кладя вместе что-то вроде:

WHERE SUM(FILE_SIZE) > 5000000000 

Это будет сделано для каждого уникального контекста.

Так что, если есть данные, как это:

1 | A 
4 | A 
2 | C 
6 | C 
8 | B 

Результат будет что-то вроде:

5 | A 
8 | C 
8 | B 

Так что мне нужно, чтобы получить SUM(FILE_SIZE) для всех различных CONTEXT с, а затем только возвращайте те, где оно больше 5000000000

ответ

2

Предложение having позволяет применять условия для групп (и совокупные результаты), созданного по статье group by:

SELECT context, SUM(file_size) AS size 
FROM  content_resource 
GROUP BY context 
HAVING SUM(file_size) > 5000000000 
+0

Спасибо! Я еще не запускал запрос, так как он занимает 10-20 минут, но я тестировал его на небольшом наборе данных, и похоже, что он сработал. Ожидайте еще несколько вопросов SQL сегодня! – Zeratas

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