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

Форум MySQL

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

 

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

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

тема: Сумма записей столбца в MySQL
 
 автор: dmitru   (08.01.2009 в 18:48)   письмо автору
 
 

помогите написать запрос к MySQL, имеется база данных c таблицей
 user 
число записей в таблице 20 таблица имеет следующие колонки id id_referal name password mail balance
следующий скрипт выводит число записей в таблице и работает исправно присваивая переменной count_balance значение 20

$this->tpl->data['admin_stat']['count_balance'] = mysql_result($this->db->query('SELECT COUNT(*) FROM '.$this->db->config['db_pref'].'user '),0,0);

подскажите как изменить этот запрос чтоб выводил не число записей в таблице а общую сумму баланса всех 20 пользователей из колонки balance

  Ответить  
 
 автор: Trianon   (08.01.2009 в 18:52)   письмо автору
 
   для: dmitru   (08.01.2009 в 18:48)
 

COUNT(*) придется изменить на SUM(balance)

  Ответить  
 
 автор: dmitru   (08.01.2009 в 18:54)   письмо автору
 
   для: Trianon   (08.01.2009 в 18:52)
 

и всё

  Ответить  
 
 автор: dmitru   (08.01.2009 в 18:56)   письмо автору
 
   для: dmitru   (08.01.2009 в 18:54)
 

Trianon братан ты гений я за тебя богам помолюсь чтоб инэт тебя засыпал деньгами

  Ответить  
 
 автор: sl1p   (08.01.2009 в 23:11)   письмо автору
 
   для: dmitru   (08.01.2009 в 18:56)
 

это 5 на самом деле, я так отловился xD

  Ответить  
 
 автор: dmitru   (09.01.2009 в 15:51)   письмо автору
 
   для: sl1p   (08.01.2009 в 23:11)
 

уважаемый сэнсэй всё работает исправно но выводит на сумму баланса всех пользователей очень дробную часть а именно число 5.8969962516613 хотя таких дробей в базе нет максимум 2 числа после запитой тоесть должно выводить 5.89 откуда взялись остальные цифры сам лично посчитал сумму в колонке получилось 5.90 мож чего нибудь добавить к запросу надо чтоб правильно считал

  Ответить  
 
 автор: Trianon   (09.01.2009 в 19:41)   письмо автору
 
   для: dmitru   (09.01.2009 в 15:51)
 

При типе FLOAT у столбца balance Вы не достигните точных значений с гарантией.
Придется поменять тип на DECIMAL(10,2)

  Ответить  
 
 автор: AcidTrash   (09.01.2009 в 22:31)   письмо автору
 
   для: Trianon   (09.01.2009 в 19:41)
 

>Придется поменять тип на DECIMAL(10,2)
Хм. Почему именно 10 ?

  Ответить  
 
 автор: Trianon   (09.01.2009 в 22:37)   письмо автору
 
   для: AcidTrash   (09.01.2009 в 22:31)
 

круглое :)

  Ответить  
 
 автор: dmitru   (09.01.2009 в 22:47)   письмо автору
 
   для: Trianon   (09.01.2009 в 22:37)
 

у свойств таблицы есть следующие значения
Поле price
Тип DECIMAL
Длина/значения
Сравнение
Атрибуты
Null not Null
По умолчанию 0
Дополнительно
Комментарии

а цифры (10,2) в какую калонку ставить
и ещё вопрос а если мне нужен результат с 3 знаками после . например сумма значений равнялась не более 4.474 $ а не 4.4747867867889$

  Ответить  
 
 автор: AcidTrash   (09.01.2009 в 23:02)   письмо автору
 
   для: dmitru   (09.01.2009 в 22:47)
 

поставьте не 2 а 3 в атрибутах поля DECIMAL.
Для изменения на три
ALTER TABLE table CHANGE field field DECIMAL( 10, 3 ) NOT NULL 

  Ответить  
 
 автор: dmitru   (09.01.2009 в 23:18)   письмо автору
 
   для: AcidTrash   (09.01.2009 в 23:02)
 

В АТРИБУТАХ ВОБЩЕ ЦИФРЫ НЕ ВВОДЯТСЯ
ТАМ ТОКА МОЖНО ВЫБРАТЬ ИЗ 4 ЗНАЧЕНИЙ НАПИСАНЫ НА АНГЛИЙСКОМ

  Ответить  
 
 автор: AcidTrash   (09.01.2009 в 23:23)   письмо автору
 
   для: dmitru   (09.01.2009 в 23:18)
 

Если вы смотрите через PMA, то не так выразился, в Длины/Значения пропишите 10,3
Или воспользуйтесь моим запросом, соответственно подставив имя своей таблицы и поля.

  Ответить  
 
 автор: dmitru   (09.01.2009 в 23:18)   письмо автору
 
   для: AcidTrash   (09.01.2009 в 23:02)
 

В АТРИБУТАХ ВОБЩЕ ЦИФРЫ НЕ ВВОДЯТСЯ
ТАМ ТОКА МОЖНО ВЫБРАТЬ ИЗ 4 ЗНАЧЕНИЙ НАПИСАНЫ НА АНГЛИЙСКОМ

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

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