Помощник
|
Как посчитать сумму одного столбца таблицы по определенному критерию? |
sc2r2bey
|
Сообщение
#1
|
||
|
|
||
|
|||
yury_mw |
14.9.2009, 13:07;
Ответить: yury_mw
Сообщение
#2
|
|
|
|
|
sc2r2bey
|
Сообщение
#3
|
|
выносил он тогда одну и ту же сумму всем добавляет
-------------------- программирую web и для we |
|
|
ZiTosS |
14.9.2009, 17:57;
Ответить: ZiTosS
Сообщение
#4
|
|
sc2r2bey,
А не пробовал воспользоваться стандартами MySQL [php]$master = "SELECT * FROM master ORDER BY id"; $master_query = mysql_query($master); while ($master_select = mysql_fetch_assoc($master_query)) { echo $master_select['name']; $summa = "SELECT SUM(summa) as all_summa FROM visit WHERE date='{$day}' AND id_master={$master_select['id']}"; $summa_query = mysql_query($summa); if(mysql_num_rows($summa_query) == 1) { $summa_select = mysql_fetch_assoc($summa_query); echo "Количество визитов: {$summa_select['all_summa']}<br><br>"; } else { $echo "Некорректная сумма.<br><br>"; } }[/php] В твоём примере ужас написан... Сам подумай, во первых у тебя нигде не задана переменная $s, к чему же будет прибавляться суммирование? В худшем случае к ничему иному как null, которое имеет случайное значение. В лучшем к нулю. Но это дело так же не меняет. У тебя после внутреннего обхода цикла переменная $s нигде не обнуляется, поэтому у тебя так и будет плюсоваться плюсоваться всё в неё... . А вообще подобные таблицы визитов имеют очень большую нагрузку... |
|
|
sc2r2bey
|
Сообщение
#5
|
|
а что такое стандарты mysql?
я знаю, что подобная вещь реализуется через join но я в этом ни бум бум -------------------- программирую web и для we |
|
|
ZiTosS |
14.9.2009, 22:35;
Ответить: ZiTosS
Сообщение
#6
|
|
sc2r2bey, я имел ввиду что есть в стандартном синтаксисе MySQL. Там есть функция SUM. Я написал код, должен быть рабочий.
|
|
|
sc2r2bey
|
Сообщение
#7
|
|
да вроде работает, теперь хочу оптимизировать его
попробую снова задачу поставить, есть таблица master в ней 2 поля id и name, т.е идентификатор и имя мастреа, есть 2-я таблица visit в ней много полей в частность id_master, summa и date соотетсвтенно идентификатор мастера, некое число и дата посещения, как сделать, чтоб отобразить всех мастеров по порядку, плюс рядом общую сумму чисел, которые были записаны в определенную дату? -------------------- программирую web и для we |
|
|
ZiTosS |
14.9.2009, 23:26;
Ответить: ZiTosS
Сообщение
#8
|
|
sc2r2bey,
[php]$sql = "SELECT *,SUM(summa) as all_summa FROM master LEFT JOIN visit ON master.id=id_master WHERE date='{$day}' ORDER BY id"; $query = mysql_query($sql); if(mysql_num_rows($query) > 0) { while ($array = mysql_fetch_assoc($query)) echo "Имя: {$array['name']}<br>Сумма: {$array['all_summa']}<br><br>"; }[/php] |
|
|
sc2r2bey
|
Сообщение
#9
|
|
не работает
-------------------- программирую web и для we |
|
|
ZiTosS |
15.9.2009, 11:26;
Ответить: ZiTosS
Сообщение
#10
|
|
sc2r2bey, Проверял у себя, у меня всё работало, покажите в каком формате у вас дата, да и вообще структуру полей скрином выложите. Потому что у меня всё работало...
|
|
|
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
Большие ставки для кликов в Я.Директ. Как удешевить? | 2 | rownong27 | 1120 | 26.3.2024, 14:13 автор: knezevolk |
|
Как вы бросили работу и перешли на заработок с сайтов? | 12 | uahomka | 2291 | 25.3.2024, 6:52 автор: Skyworker |
|
Как отозвать банковский платеж фрилансеру? | 28 | metvekot | 3913 | 25.3.2024, 6:34 автор: Skyworker |
|
Как вывести деньги в Украине с заблокированного Юмани ? | 23 | freeax | 3640 | 24.3.2024, 20:55 автор: Liudmila |
|
Через какой браузер и как можно найти в кэшэ браузера видео | 10 | Room | 1934 | 23.3.2024, 7:41 автор: Room |
Текстовая версия | Сейчас: 29.3.2024, 2:16 |