кодесурса
«SQL

SQL SUM () и COUNT () с использованием переменной

script1adsense2code
script1adsense3code

Функции SUM () и COUNT ()

Сумма значений поля или столбца таблицы SQL, созданная с помощью функции SQL SUM (), может храниться в переменной или временном столбце, называемом псевдонимом. Тот же подход можно использовать и с функцией SQL COUNT ().

Пример:

Чтобы получить СУММ общего количества записей в таблице «клиент», можно использовать следующий оператор SQL:

Образец таблицы: клиент


Код SQL:

SELECT SUM(mycount)
FROM(SELECT COUNT( * ) AS mycount
FROM customer);

Выход:

 СУММА (MYCOUNT)
------------
          25

SQL SUM () и COUNT () с внутренним объединением

В следующем примере мы обсудили, как функции SQL SUM и SQL COUNT с предложением GROUP BY выполняют соединение с оператором SQL INNER JOIN. Данные из подзапроса могут храниться во временной таблице или псевдониме.

Данные этих временных таблиц могут использоваться для манипулирования данными другой таблицы. Эти две таблицы можно объединить самостоятельно и вернуть результат.

Пример:

Получить (1) данные «agent_code» и «agent_name» из таблицы «customer» и (2) «mycount» и «mysum» из псевдонима cus, сгенерированные из таблицы «customer» при следующих условиях:

1. «mycount» и «mysum» будут происходить от псевдонима cus,

2. псевдоним 'cus' будет сгруппирован на основе кода_агента,

3. клиент и псевдоним 'cus' будут внутренне объединены на основе того же кода агента,

можно использовать следующий оператор SQL:

Образец таблицы: клиент


Пример таблицы: агенты


Код SQL:

SELECT ag.agent_code, ag.agent_name,cus.mycount,cus.mySUM
FROM agents ag
INNER JOIN (
SELECT agent_code,COUNT(*) AS mycount,
SUM(opening_amt) AS mySUM
FROM Customer
GROUP BY agent_code) cus
ON cus.agent_code=ag.agent_code;

Выход:

 AGENT_CODE AGENT_NAME MYCOUNT MYSUM
---------- ---------------------------------------- ---------- ----------
А002 Мукеш 3 22000
A004 Иван 3 25000
A007 Рамасундар 2 16000
A009 Бенджамин 1 6000
A011 Рави Кумар 1 5000
A012 Lucida 1 5000
A010 Santakumar 3 22000
A001 Subbarao 1 8000
A008 Alford 3 13000
A006 McDen 2 8000
A005 Андерсон 3 19000
A003 Alex 2 12000

Примечание. Выводы указанного оператора SQL, показанного здесь, взяты с использованием Oracle Database 10g Express Edition.

Вот слайд-презентация всех агрегатных функций.

Упражнения по SQL

Хотите улучшить вышеуказанную статью? Вносите свои заметки / комментарии / примеры через Disqus.

Предыдущая: СУММА с использованием GROUP BY
Далее: средняя функция

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code