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

Форум MySQL

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

 

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

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

тема: Сложение в столбце базы MySQL
 
 автор: Ruthless   (24.10.2007 в 13:27)   письмо автору
 
 

Господа подскажите пожалуйста, как реализовать сложение в столбце по WHERE login_zavod и id_fishes?


Пример таблицы:
---------------------------------------------------
| login_zavod | id_fishes | col_fishes |
---------------------------------------------------
| test1 | 1 | 3 |
| test2 | 3 | 10 |
| test3 | 5 | 5 |
| test1 | 1 | 20 |
---------------------------------------------------

Чтобы у логина test1 сложились col_fishes, т.е. чтобы было не 320, а 23 шт.

   
 
 автор: Faraon   (24.10.2007 в 13:35)   письмо автору
 
   для: Ruthless   (24.10.2007 в 13:27)
 


SELECT SUM(col_fishes) FROM table WHERE login_zavod='test1' AND id_fishes=1

   
 
 автор: Ruthless   (24.10.2007 в 14:37)   письмо автору
 
   для: Faraon   (24.10.2007 в 13:35)
 

К сожалению так и получается 320

Делаю, вот так:

$query = "SELECT SUM(col_fishes) FROM malki WHERE login_zavod = '$login_user' AND id_fishes = '$fishes2' GROUP BY col_fishes";
                  $result = mysql_query($query) or die(mysql_error());

                             while($row = mysql_fetch_array($result)){
                                            echo $row['SUM(col_fishes)'];
                              }

   
 
 автор: EXP   (24.10.2007 в 15:15)   письмо автору
 
   для: Ruthless   (24.10.2007 в 14:37)
 

а какой у вас тип поля "col_fishes" ?
у меня работает предыдущий запрос тип поля INT

   
 
 автор: cheops   (24.10.2007 в 15:18)   письмо автору
 
   для: Ruthless   (24.10.2007 в 14:37)
 

Уберите группировку "GROUP BY col_fishes"
<?php
  
...
  
$query "SELECT SUM(col_fishes) FROM malki 
                    WHERE login_zavod = '
$login_user' AND id_fishes = '$fishes2'";
  
$row mysql_query($query);
  if(!
$row) exit(mysql_error());
  if(
mysql_num_rows($row))
  {
    echo 
mysql_result($row0);
  }
  ...
?>

или вам для каждого из пользователей сосчитать сумму необходимо? Тогда группируйте по столбцу login_zavod, а не по столбцу col_fishes.

   
 
 автор: Ruthless   (24.10.2007 в 16:42)   письмо автору
 
   для: cheops   (24.10.2007 в 15:18)
 

Господа спасибо вам всем огромное, у меня все заработало. Действительно нужно было группировать по столбцу login_zavod, как сказал уважаемый cheops

Еще раз спасибо.

   
 
 автор: Faraon   (24.10.2007 в 15:18)   письмо автору
 
   для: Ruthless   (24.10.2007 в 14:37)
 

Да кстати поле должно быть числового типа

P.S. а что это за GROUP BY col_fishes ? Вы чего здесь группируете?

   
Rambler's Top100
вверх

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