PHP

Подсчёт суммы в MySql

Очень часто бывает необходимость подсчитать сумму в таблице mysql. Если быть точнее-сумму значений в определённых ячейках таблицы.
Это делается спомощью оператора SUM. Этому оператору передается имя поля в качестве аргумента.
Например имеем таблицу users пользователей, с указанием id, name, dateregister и money.
id 	name 	dateregister 	money
1 	Вася 	1312700694 	125
2 	Саша 	1314555798 	47
3 	Коля 	1316071029 	36
4 	Пётр 	1318137334 	8
5 	Агафон 	1320819968 	15

И нам нужно подсчитать общее количество денег у всех пользователей.Это делается так:
select sum(money) as `total_money` from `users`

В итоге мы получем одну строку состоящую из одной ячейки с именем total_money,которое мы указали в качестве псевдонима(указать можете любое).

Тот же самый запрос на DataBase API Drupal 7 будет выглядеть так:
$q->db_select('users','u');
$q->addExpression('SUM(u.money)','total_money');
$q->execute();

Эта форма записи более громоздка,но на деле гораздо удобнее.
Почитать об этом API и посмотреть более сложные примеры можно тут

Если в запросе нужно поставить условие-используем оператор where. Например посчитать общую сумму денег, только у пользователей, чей баланс более 20.
select sum(money) as `total_money` from `users` where `money`>20

И соответственно на Drupal
$q->db_select('users','u');
$q->addExpression('SUM(u.money)','total_money');
$q->condition('u.money',20,'>');
$q->execute();

Вот впринципе и всё. Если возникли вопросы-пишите в комментариях, дополню статью.
Добавлено: 24 Августа 2013 12:08:53 Добавил: Андрей Ковальчук Нравится 0
Добавить
Комментарии:
Нету комментариев для вывода...