2016-05-05 8 views
0

ich die folgende Abfrage haben:wählen beliebtesten Artikel

SELECT 
    l.id, 
    l.name, 
    l.url, 
    c.name, 
    COUNT(cc.id) AS popularity 
FROM 
    links AS l, 
    categories AS c, 
    clicks AS cc 
WHERE 
    l.category_id = c.id 
AND 
    l.id = cc.link_id 
AND 
    l.active = 1 
ORDER BY 
    popularity DESC 
LIMIT 
    10 

Wie Sie sehen können, ich habe 3 Tabellen: Links, Kategorien und Klicks. In "Klicks" habe ich bei jedem Klick auf eine Nummer einen Eintrag gespeichert. Ich möchte die 10 beliebtesten Links auswählen, bekomme aber nur den letzten Datensatz mit allen Klicks zusammen.

Was ist los mit meiner Abfrage?

Vielen Dank im Voraus!

Antwort

0

scheint Ihnen Gruppe von

SELECT 
    l.id, 
    l.name, 
    l.url, 
    c.name, 
    COUNT(*) AS popularity 
FROM 
    links AS l, 
    categories AS c, 
    clicks AS cc 
WHERE l.category_id = c.id 
AND l.id = cc.link_id 
AND l.active = 1 
GROUP BY l.id, c.name 
ORDER BY popularity DESC LIMIT 10 
brauchen
Verwandte Themen