WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   Mysql/php sorterings fråga. (https://www.wn.se/forum/showthread.php?t=16467)

backen 2006-09-26 14:48

Jag behöver lite grundläggande php/mysql hjälp.

Jag har två tabeller enligt följande
Kod:


Objekt

f_id    values
1      fgfdg
3      dgdf
4      fgfg
5      uiuiui

Comments

c_id    f_id    comment
1      4      dsfsdfsdfsdf
3      4      drtreter
4      4      fin
6      1      fgfg
7      3      hjgh

Hur sorterar jag tabellen Objekt på antalet comments?

magic 2006-09-26 17:08

select object.*,comments.f_id, count(comments.f_id) as number from comments,object where object.f_id = comments.f_id group by comments.f_id ORDER by number desc;

men jag är ingen SQL kung, hoppas den stämmer.

backen 2006-09-26 22:56

Citat:

Originally posted by magic@Sep 26 2006, 17:08
select object.*,comments.f_id, count(comments.f_id) as number from comments,object where object.f_id = comments.f_id group by comments.f_id ORDER by number desc;

men jag är ingen SQL kung, hoppas den stämmer.

Det fungerar utmärkt, jag glömde bara säga att jag även vill ha med dom objekt som har 0 comments i sorteringen, hur fixar man det?
Finns det någon bra sida som förklarar och ger exempel på mysql query's jag hittar bara guider med dom första enklaste exemplen?

WizKid 2006-09-26 23:11

Vill du ha med de som har 0 kommentarer så är det bara att ändra till en LEFT JOIN istället för en vanlig JOIN.

Detta borde fungera:
Kod:

SELECT o.*, count(c.f_id) AS number FROM object o LEFT JOIN comments c USING(f_id) GROUP BY c.f_id ORDER BY number DESC;


Alla tider är GMT +2. Klockan är nu 17:24.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson