BG Development


Страници: (5) [1] 2 3 ... последна »  ( Първото ново мнение ) Reply to this topicStart new topicStart Poll

> MySQL не мога да направя сумата
3p0
Публикувано на: 10-02-2019, 01:06
Quote Post



Име:
Група: Потребител
Ранг: Старо куче

Мнения: 671
Регистриран на: 18.06.05



Това работи и показва всичките редове от заявката:
CODE
SELECT * FROM `PLAYERS` WHERE `TEAM_BG_ID` = 1 ORDER BY `SCORED_BG` DESC

Това не работи, защото показва само първия ред:
CODE
SELECT *, SUM(`SCORED_BG`) AS SUM_SCORED_BG FROM `PLAYERS` WHERE `TEAM_BG_ID` = 1 ORDER BY `SCORED_BG` DESC

Къде ли греша по дяволите ?


--------------------
Да залеем Рабина с вода от Перловска река
PM
Top
3p0
Публикувано на: 10-02-2019, 02:06
Quote Post



Име:
Група: Потребител
Ранг: Старо куче

Мнения: 671
Регистриран на: 18.06.05



Ооооооооо!
Намерих, че трябва да сложа клауза:
CODE
GROUP BY ....

Като сложа клаузата, показва резултатите, но сумата не се натрупва, а отговаря на стойността на полето, което уж се сумира icon_idea.gif
Като я няма клаузата, пък е само първия ред, обаче дава сума, която вероятно е сумата от всички които отговарят на условието icon_idea.gif

Това мнение е било редактирано от 3p0 на 10-02-2019, 02:22


--------------------
Да залеем Рабина с вода от Перловска река
PM
Top
ici
Публикувано на: 10-02-2019, 02:47
Quote Post


Group Icon
Име: Ивайло Илчев ики
Група: VIP
Ранг: Почетен член

Мнения: 16323
Регистриран на: 06.06.04



GROUP BY изисква HAVING icon_idea.gif MySQL е измислена да преглъща написаното от всеки PHP мазач в някакви резултати. какво получаваш е друг въпрос. icon_smile.gif

https://www.guru99.com/group-by.html


--------------------
Reading undefined locations provides undefined data.
PMEmail PosterUsers Website
Top
thrawn
Публикувано на: 10-02-2019, 07:43
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 2370
Регистриран на: 17.01.17



Having се ползва за логически операции върху данни връщани от агрегатни функции. Ако няма нужда от подобни операции where е достатъчна.

А за грешката, без заявката няма как някой да познае къде грешиш.
PMEmail Poster
Top
PxL
Публикувано на: 10-02-2019, 08:16
Quote Post


Group Icon
Име: Димитър Т. Димитров
Група: VIP
Ранг: Почетен член

Мнения: 2889
Регистриран на: 26.04.05



QUOTE (3p0 @ 10-02-2019, 03:06)
Ооооооооо!
Намерих, че трябва да сложа клауза:
CODE
GROUP BY ....

Като сложа клаузата, показва резултатите, но сумата не се натрупва, а отговаря на стойността на полето, което уж се сумира icon_idea.gif
Като я няма клаузата, пък е само първия ред, обаче дава сума, която вероятно е сумата от всички които отговарят на условието icon_idea.gif

Зависи по какво групираш, в случаят по имената на колоните ще се опитам да "предскажа", че искаш да групираш по "TEAM_BG_ID" тогава този where предполагам ти е излишен icon_smile.gif

Магическата ми лява топка усеща, че искаш да групираш сумиран резултат от точките на някакви отбори в състезание icon_smile.gif

Това мнение е било редактирано от PxL на 10-02-2019, 08:19


--------------------
void putchar(char c);int main(){int x,c=1,i;for(i=0;(x="PxLY2H4:2E;7231?=68255A5S5P9N:N9O84111H861I85111G9N:O811O812M<G33911EAEDBECE22169D1=2k"[i+++3]);)while(x-->'0')putchar((!(++c%'('))?0x0a:33^(i&1));}
PMEmail PosterUsers Website
Top
3p0
Публикувано на: 10-02-2019, 08:43
Quote Post



Име:
Група: Потребител
Ранг: Старо куче

Мнения: 671
Регистриран на: 18.06.05



Не ми трябва да групирам, но функцията SUM() изисква GROUP BY ....
Трябват ми всички голове на всеки футболист от даден отбор обаче и накрая общата сума за отбора.
CODE
SELECT `PLAYER_ID`, `NAME_BG`, `TEAM_MAIN_BG`, `PERIOD_BG_BEG`, `PERIOD_BG_END`, `MATCHES_BG`, `SCORED_BG`, `TEAM_BG_ID`, `TEAMS_OTHER`, SUM(`SCORED_BG`) AS SUM_SCORED_BG FROM `PLAYERS` WHERE `TEAM_BG_ID` = 7 GROUP BY `PLAYER_ID` ORDER BY `SCORED_BG` DESC

Искам да сумирам колко гола е вкарал всеки национален футболист за Националния отбор, но сумата да е за отбора от който е тръгнал за големия футбол така да се каже.

Това мнение е било редактирано от 3p0 на 10-02-2019, 08:50


--------------------
Да залеем Рабина с вода от Перловска река
PM
Top
ici
Публикувано на: 10-02-2019, 08:46
Quote Post


Group Icon
Име: Ивайло Илчев ики
Група: VIP
Ранг: Почетен член

Мнения: 16323
Регистриран на: 06.06.04



QUOTE (thrawn @ 10-02-2019, 08:43)
Having се ползва за логически операции върху данни връщани от агрегатни функции. Ако няма нужда от подобни операции where е достатъчна.

А за грешката, без заявката няма как някой да познае къде грешиш.

А пък sum не е агрегатна функция? icon_cool.gif


--------------------
Reading undefined locations provides undefined data.
PMEmail PosterUsers Website
Top
thrawn
Публикувано на: 10-02-2019, 08:51
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 2370
Регистриран на: 17.01.17



И каква логическа операция правиш с тая сума? Having ще ти трябва ако ти трябват всички с повече от 5 гола например. Иначе, няма проблем да я ползваш вместо where но е излишно.
PMEmail Poster
Top
3p0
Публикувано на: 10-02-2019, 08:56
Quote Post



Име:
Група: Потребител
Ранг: Старо куче

Мнения: 671
Регистриран на: 18.06.05



Не правя логическа операция.
Имам 105 национални футболисти.
3-ма от тях са тръгнали в големия футбол от Ботев - Пловдив.
Ботев - Пловдив е отбор № 7;
QUOTE
.... WHERE `TEAM_BG_ID` = 7 ....

Всеки от тях е вкарал по 7 гола за националния отбор по футбол.
Искам да се появят тримата футболисти поименно със по 7 гола срещу всеки от тях
Най-отдолу да покажа сумата за Ботев - Пловдив 21 гола принос за Националния отбор!
И така за произволен отбор - Черно море - Варна или който и да е ....

Това мнение е било редактирано от 3p0 на 10-02-2019, 09:02


--------------------
Да залеем Рабина с вода от Перловска река
PM
Top
thrawn
Публикувано на: 10-02-2019, 09:01
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 2370
Регистриран на: 17.01.17



Нещо логиката ти не е на ред. Заявките връщат еднотипна информация. Или за отбор или за играч. Опитът да върнеш обобщена информация за отбор + синтетична за отделните играчи в една заявка е кофти идея.
PMEmail Poster
Top
1 потребители преглеждат тази тема в момента (1 гости, 0 анонимни потребители)
Потребители, преглеждащи темата в момента:

Topic Options Страници: (5) [1] 2 3 ... последна » Reply to this topicStart new topicStart Poll

 


Copyright © 2003-2019 | BG Development | All Rights Reserved
RSS 2.0