Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Суммирование данных из БД при выборке
 
 автор: nik0las   (11.10.2009 в 05:03)   письмо автору
 
 

Приветствую всех =)

Возникла потребность в суммации выбранных данных из БД. Поясню на примере:

Структура бд:
id_order|money|

Часть БД:
1|278
17|16500
39|200
901|54

Нужно просуммировать числа 278, 16500, 200, 54 посредствам пхп или мускула. Вопрос - как это можно сделать?

  Ответить  
 
 автор: cheops   (11.10.2009 в 12:39)   письмо автору
 
   для: nik0las   (11.10.2009 в 05:03)
 

Для этого удобно воспользоваться функцией SUM()
SELECT SUM(money) FROM tbl;

  Ответить  
 
 автор: nik0las   (11.10.2009 в 15:35)   письмо автору
 
   для: cheops   (11.10.2009 в 12:39)
 

Спасибо, именно то, что нужно =)

А как быть с вариантом, когда требуется выбрать все одинаковые суммы из БД и просуммировать уже их? Это возможно сделать в одном запросе?

Структура бд:
id_order|money|

Часть БД:
1|278
17|54
39|278
901|54
1100|54
1500|278
2000|10


Я представляю как выбрать все одинаковые записи так, чтобы они были уникальными,т.е:

select distinct money from test


Но как теперь отобразить значение по каждому из них?

  Ответить  
 
 автор: cheops   (11.10.2009 в 15:49)   письмо автору
 
   для: nik0las   (11.10.2009 в 15:35)
 

Хм... не очень понятно, так одинаковые просуммировать или только уникальные?

  Ответить  
 
 автор: nik0las   (11.10.2009 в 16:34)   письмо автору
 
   для: cheops   (11.10.2009 в 15:49)
 

Нет суммировать не надо, как бы это сказать... Я хочу чтобы было примерно следующее

Допустим в БД есть:
utugi - 10 записей
chainiki - 5 записей
tarelki - 7 записей

Выбрать, без повторов, все заказанные товары из БД, то есть utugi, chainiki, tarelki и написать сколько раз они использовался, т.е 10,5 и 7...

  Ответить  
 
 автор: Valick   (11.10.2009 в 16:48)   письмо автору
 
   для: nik0las   (11.10.2009 в 16:34)
 

так бы сразу и сказали, тут вместо SUM() нужен COUNT()
SELECT money, COUNT(money) AS total FROM tbl GROUP BY money


echo $res[money]." ".$res[total];

  Ответить  
 
 автор: nik0las   (11.10.2009 в 16:59)   письмо автору
 
   для: Valick   (11.10.2009 в 16:48)
 

Во, спасибо, Вы прям читаете мои мысли =)

  Ответить  
 
 автор: Valick   (11.10.2009 в 16:14)   письмо автору
 
   для: nik0las   (11.10.2009 в 15:35)
 

SELECT SUM(money) FROM tbl GROUP BY money

  Ответить  
 
 автор: nik0las   (11.10.2009 в 16:34)   письмо автору
 
   для: Valick   (11.10.2009 в 16:14)
 


SELECT SUM(money) FROM tbl GROUP BY money


Чего-то непонятное выбирается оО

  Ответить  
 
 автор: Valick   (11.10.2009 в 16:47)   письмо автору
 
   для: nik0las   (11.10.2009 в 16:34)
 

дык а чего Вы хотели от одного поля? (идентификатор в расчёт не берём)
по идее запрос должен сложить все одинаковые числа в столбце друг с другом, но как это работает в жизни я понятия не имею, обычно группируют по одному столбцу, а складывают значения из другого

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования