Функция SQLite sum ()
Описание
Агрегатные функции sum () и total () возвращают сумму всех ненулевых значений в группе. Если нет входных строк, отличных от NULL, то sum () возвращает NULL, а total () возвращает 0.0. NULL обычно не является полезным результатом для суммы без строк, но стандарт SQL требует этого, и большинство других механизмов баз данных SQL реализуют sum () таким образом, чтобы SQLite делал это таким же образом, чтобы быть совместимым. Нестандартная функция total () предоставляется в качестве удобного способа обойти эту проблему проектирования на языке SQL.
Результатом total () всегда является значение с плавающей запятой. Результатом sum () является целочисленное значение, если все ненулевые входные значения являются целыми числами. Если какой-либо вход для sum () не является ни целым числом, ни NULL, то sum () возвращает значение с плавающей запятой, которое может быть приближением к истинной сумме.
sum () будет генерировать исключение «переполнение целочисленного значения», если все входные данные являются целыми числами или NULL, и переполнение целого числа происходит в любой точке во время вычисления. total () никогда не выбрасывает целочисленное переполнение.
Синтаксис
сумма (выражение); Общий (выражение);
Где expr это выражение.
Ключевое слово DISTINCT может использоваться для суммирования только различных значений expr.
Пример: функция SQLite sum ()
Следующий оператор SQLite возвращает сумму «total_cost» из таблицы покупок.
Пример таблицы: покупка
Пример вывода:
sqlite> SELECT SUM (total_cost) ...> С покупки; СУММА (total_cost) --------------- 3590
Пример: сравнение SQLite sum () и total ()
Следующие операторы SQLite возвращают сумму «total_cost» из таблицы покупок для категории («cate_id») с использованием функций sum () и total ().
Пример таблицы: покупка
Используя sum (), он возвращает NULL.
Пример вывода:
sqlite> SELECT SUM (total_cost) ...> ОТ покупки ...> ГДЕ cate_id = 'CD001'; СУММА (total_cost) ---------------
Используя total (), он возвращает 0.0.
Пример вывода:
sqlite> SELECT total (total_cost) ...> ОТ покупки ...> ГДЕ cate_id = 'CD001'; Общий (total_cost) ----------------- 0.0 ---------------
Пример: функция SQLite sum (), использующая несколько столбцов
Функция SQLite sum () извлекает значение суммы выражения, которое состоит из нескольких столбцов. Следующий оператор SQLite возвращает сумму умножения 'receive_qty' и 'purchase_price' из таблицы покупок для каждой группы категории ('cate_id').
Пример таблицы: покупка
Код
Пример вывода:
sqlite> SELECT cate_id, ...> SUM (receive_qty * purchase_price) ...> ОТ покупки ...> GROUP BY cate_id; cate_id SUM (receive_qty * purchase_price) ---------- ---------------------------- CA001 1725 CA002 965 CA003 900
Пример: функция SQLite sum () с функцией count () и переменными
Следующий оператор SQLite вернет сумму «mysum», временной переменной, которая подсчитывает количество книг, содержащих более 200 страниц из таблицы «book_mast».
Пример таблицы: book_mast
sqlite> ВЫБЕРИТЕ СУММУ (mysum) ...> ОТ ( ...> ВЫБЕРИТЕ СЧЕТ (*) AS mysum ...> ОТ book_mast ...> WHERE no_page> 200) AS bb; СУММА (mysum) ---------- 14
Пример вывода:
Пример: функция SQLite sum () с предложением DISTINCT
Функция SQLite sum () извлекает сумму уникального значения выражения, если оно сопровождается предложением DISTINCT . Следующий оператор SQLite возвращает сумму количества ветвей ('no_of_branch') из таблицы издателя, где, если несколько издателей имеют одинаковое количество ветвей, это число (то есть количество ветвей) берется только один раз.
Пример таблицы: издатель
Код
Пример вывода:
sqlite> SELECT SUM (DISTINCT no_of_branch) ...> ОТ издателя; SUM (DISTINCT no_of_branch) -------------------------- 64
Пример: функция SQLite sum () с предложением GROUP BY
Функция SQLite sum () извлекает значение суммы выражения, которое подверглось операции группировки по предложению GROUP BY. Следующий оператор SQLite возвращает сумму «total_cost» из таблицы покупок для каждой группы категории («cate_id»).
Пример таблицы: покупка
Пример вывода:
sqlite> SELECT cate_id, SUM (total_cost) ...> ОТ покупки ...> GROUP BY cate_id; cate_id SUM (total_cost) ---------- --------------- CA001 1725 CA002 965 CA003 900
Предыдущая: Мин ()
Далее: Базовая функция SQLite abs ()
Новый контент: Composer: менеджер зависимостей для PHP , R программирования