webForumDet fria alternativet

Mysql; Välja data mellan två datum

Databaser & SQL

3 svar · 396 visningar · startad av Mannen

Medlem sedan jan. 2003247 inlägg
Frågan#1

Jag försöker få ut två stycken SUM() med data från tabell1 och samtidigt försöker jag få ut vanlig data från kolumner från tabell2 men får felet:

Mixing of GROUP columns (MIN(),MAX(),COUNT(),...) with no GROUP columns is illegal if there is no GROUP BY clause

Vet inte riktigt hur jag ska gruppera för att undvika detta.

Exempel.


"SELECT SUM(tabell1.pris+tabell1.extra) AS summa1, SUM(tabell1.pris+tabell1.extra*tabell1.procent) AS summa2, tabell2.kolumn1, tabell2.kolumn2 FROM tabell1, tabell2 WHERE tabell1.kolumn3 = tabell2.kolumn4"

Som sagt, hur ska jag gruppera för att använda flera SUM() ?

Tack på förhand

Medlem sedan dec. 200012 464 inlägg
#2

Om du blandar aggregatfunktioner och icke aggregerade kolumner i select-listan så måste du ha en group by kluasul där du anger alla icke aggregerade kolumner

Medlem sedan jan. 2003247 inlägg
#3

Tack för svaret.
Menar du:

"GROUP BY tabell2.kolumn1, tabell2.kolumn2"

tack på förhand. Om inte förklara gärna lite i kod hur du menar.

Medlem sedan dec. 200012 464 inlägg
#4

Jo, så menar jag.

290 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
160 ms — deklarationer (db)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)
162 ms — ändringar (db)