webForumDet fria alternativet

Group by med flera kolumner

Databaser & SQL

6 svar · 944 visningar · startad av evilaid

Medlem sedan apr. 2009433 inlägg
Frågan#1

Jag måste vara trög men jag fattar inte riktigt group by..
Har en ganska enkel sql fråga med några OUter left som kopplar ihop lite tabeller. Problemet är att jag vill gruppera alla efter oh.ordernumber och oe.order_line

Felet jag får är ju att kolumnerna inte ingår i en aggregerad funktion?

SELECT COUNT(*),oh.ordernumber,oe.id,oe.prod_week, oe.status, d.name AS doorName, oe.order_line,oe.door_type, oe.amount, oe.id AS ORId, u.firstname AS userName, u.id AS UserId, oh.status FROM pd_order_list AS oe LEFT OUTER JOIN pd_order_head AS oh ON oe.order_head= oh.id LEFT OUTER JOIN pd_users AS u ON oh.added_by = u.id LEFT OUTER JOIN pd_doors AS d ON oe.door = d.id WHERE (oe.status = '' OR oe.status IS NULL OR oe.status = 1) AND (oe.removed = 'false' OR oe.removed IS NULL) group by oh.ordernumber

så här unkar det ju men då får jag inte med alla kolumner jag vill??

SELECT COUNT(*),oh.ordernumber FROM pd_order_listAS oe LEFT OUTER JOIN pd_order_head AS oh ON oe.order_head= oh.id LEFT OUTER JOIN pd_users AS u ON oh.added_by = u.id LEFT OUTER JOIN pd_doors AS d ON oe.door = d.id WHERE (oe.status = '' OR oe.status IS NULL OR oe.status = 1) AND (oe.removed = 'false' OR oe.removed IS NULL) group by oh.ordernumber

Mvh

Btw, jag läste lite på w3c men blev inte klokare.

Medlem sedan juni 200032 967 inlägg
#2

Jag förstår inte vad du vill ha ut. Kan du ge exempel?

Medlem sedan apr. 2009433 inlägg
#3

Grejen är den att jag har 6 st poster i tabellen nu. 4 av dessa poster har ett och samma ordernummer samt att den andra två posterna har ett och samma ordernummer.. När jag hämtar denna vill jag få ut två rader, en för varje ordernummer??

Medlem sedan juni 200032 967 inlägg
#4

Enligt den beskrivningen är det ju ditt alternativ 2 du vill ha. Vad är det mer för kolumner du vill ha i resultatet? Lägg till dem i både select-delen och i group by.

Medlem sedan apr. 2009433 inlägg
#5

jag tror jag börjar förstå det nu. Hade ju med ett id fält och det funkar ju inte. Gick inte att få det riktig som jag hade tänkt det med Group By..

Medlem sedan juni 200032 967 inlägg
#6

De rader du får ut när du ställer en sådan fråga med group by är alla rader som är olika på minst ett fält.

Om du berättar exakt vad det är du vill ha ut, kanske vi kan ge dig lite vägledning.

Medlem sedan apr. 2009433 inlägg
#7

det löste sig, jag gjorde enligt alternativ 2 och la till fler kolumner i Group By..

Jag hade nog bara tänkt lite knepigt ;)
Men tack för din insats..

264 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
129 ms — ändringar (db)