Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Группировка записей 
:(
    Опции темы
andryus
Дата 14.4.2011, 13:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 49
Регистрация: 17.1.2011

Репутация: нет
Всего: 0



Помогите составить запрос на группировку записей в таблице. Есть таблица:

type           sum           val
type1         10               1 
type2         15.25          1
type3         16               1
type1         14.13          2
type1         16               1

Нужно SQL запросом вывести суммированные значения поля sum сгруппированные по типу поля type и при соблюдении что нужно данную операцию выполнить при условии что val=1

Составил код:
Код

$qs = @mysql_query( "SELECT * FROM table WHERE val='1' GROUP BY type" ) or die (@mysql_error());
while ( $rs = @mysql_fetch_array( $qs ) )
{
   echo $rs[type]."<BR>";
   echo $rs[sum]."<BR>";
}


Выводит какую то муть, хотя из поставленной задачи должен получится результат
type1
26
type2
15.25
type3
16

Помогите найти ошибку в коде или составить верный запрос
PM MAIL   Вверх
Akina
Дата 14.4.2011, 14:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 45
Всего: 454



Код

select `type`, sum(`sum`) `sum` 
from `table`
where `val`=1
group by `type`

Цитата(andryus @  14.4.2011,  14:59 Найти цитируемый пост)
Помогите найти ошибку в коде 

Ошибка не в коде, а в генах того, кто использует для иненования полей зарезервированные слова.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
andryus
Дата 14.4.2011, 15:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 49
Регистрация: 17.1.2011

Репутация: нет
Всего: 0



Цитата(Akina @ 14.4.2011,  14:54)
Ошибка не в коде, а в генах того, кто использует для иненования полей зарезервированные слова.

1. Может между sum(sum) и sum нужно вставить AS? Вот так

Код

select `type`, sum(`sum`) AS `sum` 
from `table`
where `val`=1
group by `type`


2. Поля выдуманные, на реале в самом исполнительном коде и в БД наименования полей вообще другие.

Это сообщение отредактировал(а) andryus - 14.4.2011, 15:04
PM MAIL   Вверх
Akina
Дата 14.4.2011, 15:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 45
Всего: 454



Цитата(andryus @  14.4.2011,  16:03 Найти цитируемый пост)
Может между sum(sum) и sum нужно вставить AS? Вот так

От этой вставки серверу ни холодно ни жарко... хочешь - вставь.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Составление SQL-запросов | Следующая тема »


 




[ Время генерации скрипта: 0.0440 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.