Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Выборка из базы одинаковых данных 
V
    Опции темы
chiffa
Дата 15.2.2010, 18:07 (ссылка)    | (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: -1
Всего: -1



Всем добрый день. Есть таблица с полями num и summ, с данными:

num    summ
261        5
261        10
263        14
262        1
262        100

нужно выбрать одинаковые значения поля num и сложить поля summ, тоесть при выводе должно быть:

261 - 15
263 - 14
262 - 101

Подскажете как такое реализовать, вроде как и ничего сложно но что то не выходит... Заранее всем спасибо smile
PM MAIL   Вверх
Fortop
Дата 15.2.2010, 18:39 (ссылка)    | (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: 20
Всего: 42



Цитата(chiffa @  15.2.2010,  17:07 Найти цитируемый пост)
вроде как и ничего сложно но что то не выходит...

- Что Данила-мастер не выходит цветок каменный?
- (Данила, в присяде и тужась) не выходит....

Что не выходит? Что уже сделано? В каком месте ошибка?


--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
chiffa
Дата 15.2.2010, 18:45 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: -1
Всего: -1



 Fortopsmile  smile 

Делал не средствами мускула, а средствами ПХП

Код

$query1 = "SELECT * FROM ukrtelecom WHERE `statys`=''";
$result1 = mysql_query($query1);
$x1 = 0;
while ($x1 < @mysql_num_rows($result1)):
$num = mysql_result($result1, $x1, 'num');
$sum = mysql_result($result1, $x1, 'summ');


if (@$dt_last!==$summ)
{

echo $num."<br>";

}
else
{

}

$dt_last=$summ;
$x1++;
endwhile;


$num выводи так как нужно, но вот куда вставить $sum_all=$sum_all+$sum; незнаю...

Это сообщение отредактировал(а) chiffa - 15.2.2010, 18:54
PM MAIL   Вверх
awers
Дата 15.2.2010, 18:48 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1465
Регистрация: 22.3.2006
Где: Россия, Таганрог

Репутация: 21
Всего: 31



SELECT num,SUM(`sum`) FROM test group by `num`

Добавлено через 37 секунд
Только при чём тут пхп - загадка

Добавлено через 12 минут и 38 секунд
И совет по поводу конструкций типа while: endwhile; такая конструкция хороша внутри phtml'ного шаблона, однако в теле скрипта это не читабельно.
PM MAIL WWW ICQ Skype   Вверх
chiffa
Дата 15.2.2010, 19:06 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: -1
Всего: -1



awers, спасибо за ответ, но данные полученные из summ нужно предворительно обработать, а именно заменить "," на "."
PM MAIL   Вверх
awers
Дата 15.2.2010, 19:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1465
Регистрация: 22.3.2006
Где: Россия, Таганрог

Репутация: 21
Всего: 31



chiffa, какой тип данных у этого поля?

Добавлено через 8 минут и 21 секунду
Код

sum(replace(`sum`,',','.'))

как вариант

Добавлено через 14 минут и 20 секунд
Ещё вот пару пинков за 
Код

while ($x1 < @mysql_num_rows($result1)):


и кучу собак @ ...
PM MAIL WWW ICQ Skype   Вверх
Ипатьев
Дата 15.2.2010, 22:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

Репутация: 28
Всего: 37



и отсутствие отступов в коде.
но самый ужас, конечно - это необходимость замены.
то есть, лежит оно не в Decimal как положено, а в varchar, как его туда начинающий автор положил.
причем автор предпочтет налепить кучу заплаток, чем сделать правильно
а потом, когда система навернется, ругать mysql за низкую производительность
PM MAIL   Вверх
awers
Дата 15.2.2010, 23:54 (ссылка) |   (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1465
Регистрация: 22.3.2006
Где: Россия, Таганрог

Репутация: 21
Всего: 31



Ипатьев, ццц smile ну что же ты так - надо было дождаться этого от автора smile
PM MAIL WWW ICQ Skype   Вверх
chiffa
Дата 16.2.2010, 10:01 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: -1
Всего: -1



Ипатьев, ну да! именно! И даже представить себе невозможно что некоторые системы числовые данные воспринимают как 0,00 а не 0.00 smile))

Это сообщение отредактировал(а) chiffa - 16.2.2010, 10:02
PM MAIL   Вверх
chiffa
Дата 16.2.2010, 10:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: -1
Всего: -1



awers
Код

sum(replace(`sum`,',','.'))


так выводи только первое значение тоесть:

261        5
263        14
262        1
PM MAIL   Вверх
sTa1kEr
Дата 16.2.2010, 10:41 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


9/10 программиста
***


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

Репутация: 56
Всего: 146



Цитата(chiffa @  16.2.2010,  11:01 Найти цитируемый пост)
Ипатьев, ну да! именно! И даже представить себе невозможно что некоторые системы числовые данные воспринимают как 0,00 а не 0.00 smile))

Какое отношение эти некоторые системы имеют к MySQL?
PM MAIL   Вверх
chiffa
Дата 16.2.2010, 10:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: -1
Всего: -1



sTa1kEr, тем что данные в базе удобнее хранить в исходном виде, а не форматировать непосредственно при отправке. давайте не будем разводить полемику.

Это сообщение отредактировал(а) chiffa - 16.2.2010, 10:44
PM MAIL   Вверх
awers
Дата 16.2.2010, 10:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1465
Регистрация: 22.3.2006
Где: Россия, Таганрог

Репутация: 21
Всего: 31



chiffa, фантазия зачем богом дана?
Код

SELECT num,sum(replace(`sum`,',','.')) FROM test group by `num`

А может ты лучше базу в порядок приведешь?

Добавлено через 36 секунд
И тебе кстати советуют не полемики ради, а нормального кода для
PM MAIL WWW ICQ Skype   Вверх
chiffa
Дата 16.2.2010, 10:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: -1
Всего: -1



Богом с большой буквы...

И я как бы так и делал. А вообще считай что ты меня убедил, подправлю базу. Всем спасибо.

Это сообщение отредактировал(а) chiffa - 16.2.2010, 10:48
PM MAIL   Вверх
sTa1kEr
Дата 16.2.2010, 10:49 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


9/10 программиста
***


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

Репутация: 56
Всего: 146



Цитата(chiffa @  16.2.2010,  11:43 Найти цитируемый пост)
sTa1kEr, тем что данные в базе удобнее хранить в исходном виде

Именно. Для хранения целых чисел в исходном виде используются тип INT, для хранения в исходном виде вещественных чисел используется тип FLOAT.
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




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


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

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