[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Помогите составить MYSQL запрос
tureg1
Имеется таблица

id|id_project|user|summa
1 23 32 150
2 23 32 250
3 23 32 170
4 23 12 50




Нужно подсчитать для юзера в каких проектах он участвовал (он мог участвовать много раз в одном проекте) и подсчитать общую сумму по юзеру

Вывод должен быть таким:
Проект #23
Сумма: такая то

Я придумал какой то сложный и как мне кажется не правильный алгоритм:
1. Собрать все записи с юзером
2. Собрать номера проектов
3. Удалить повторяющиеся номера проектов
4. Снова сделать запрос из оставшихся номеров проектов и по ним сделать суммирование

мне кажется можно сделать как то проще
redreem
что значит "подсчитать для юзера в каких проектах он участвовал"?
количество проектов чтоли?
select
user,
count(id_project) as cnt_p,
sum(summa) as pays
from table
group by

user
sergeiss
У тебя в алгоритме не понятно, что делать, если встречаются одинаковые номера проектов для юзера и для них разные значения в поле summa. Ты говоришь, что оставить одну запись - какую именно, по какому критерию выборку делать? Или то, о чем redreem спросил?

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
tureg1
нужно подсчитать сколько денег вложил юзер в каждый проект
Valick
tureg1, вам redreem подсказал в каком направлении копать, только там группировка по двум полям нужна, а не только по юзеру.



_____________
Стимулятор ~yoomoney - 41001303250491
Guest
Кароч, сделал как изначально придумал.

$result110=mysql_query("SELECT DISTINCT id_project FROM sbors WHERE `user`=$user_id");	
while($r110=mysql_fetch_array($result110)){

$result290=mysql_query("SELECT * FROM projects WHERE id=$r110[id_project]");
$r290=mysql_fetch_array($result290);
$title_pr = $r290["title"];

echo "$title_pr<br>";
$tow_6 = mysql_query("SELECT SUM(`summa`) FROM `sbors` WHERE `id_project`=$r110[id_project] AND `user`=$user_id");
$tow_6 = mysql_fetch_row($tow_6);
$vklad_po_proektu = $tow_6[0];
echo "$vklad_po_proektu<br><br>";
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.