FAQ |
Kalender |
|
![]() |
#1 | ||
|
|||
Klarade millennium-buggen
|
Group by category ger dig exakt en rad per kategori.
Men du vill ha en rad per användare, gruppera per användare då. Hur vet du vilka kategorier en användare tillhör? Du skriver $categories och $users vilket är uttryck för en variabel inom php, men sen får vi gissa om det är en kolumn eller tabell du syftar på. OM du har dina värde i en tabell med kolumner för användarnamn och för kategori och du har flera rader med samma innehåll i användarnamn-kolumnen men olika i kategori-kolumnen, så får du ut en lista med en rad per användare och alla kategorier separerade med komma så här: select användarnamn, group_concat(kategori,',') group by användarnamn Om du har gjort på något annat sätt får du väl joina tabeller tills du får ihop all info i samma fråga. |
||
![]() |
![]() |
![]() |
#2 | ||
|
|||
Mycket flitig postare
|
Aha !
Tänkte inte alls på GROUP BY men det är ju klart att det blir bättre med GROUP BY cat_id. Ursäkta otydligheten med mina php-variabler, men jag hänvisar oftast till resultatet från föregående fråga. Ex. $tidigare_anvandare motsvarar alla user_id som använts i föregående frågor... Provar med GROUP BY, så får vi se hur det går... |
||
![]() |
![]() |
![]() |
#3 | ||
|
|||
Mycket flitig postare
|
Resultat:
Kod:
[0]=> object(stdClass)#105 (2) { ["user_id"]=> string(2) "63" ["category"]=> string(2) "10" } [1]=> object(stdClass)#106 (2) { ["user_id"]=> string(2) "63" ["category"]=> string(2) "20" } [2]=> object(stdClass)#107 (2) { ["user_id"]=> string(2) "63" ["category"]=> string(2) "30" } [3]=> object(stdClass)#108 (2) { ["user_id"]=> string(2) "92" ["category"]=> string(2) "40" } Egentligen är ju resultatet rätt, om man ser till frågan, för det är fyra DISTINCT-a rader. Jag vill att ett user_id inte får förekomma mer än en gång.... |
||
![]() |
![]() |
Svara |
|
|