sql >> Databasteknik >  >> RDS >> Mysql

Räknar alla inlägg som tillhör en kategori OCH dess underkategorier

Om kategorierna inte är kapslade oändligt, kan du GÅ MED till dem en nivå i taget. Här är ett exempel på upp till tre nivåer av kapsling:

SELECT c.name, COUNT(DISTINCT p.PID) as postCount 
FROM categories AS c 
LEFT JOIN categories AS c2
    ON c2.parent = c.catid
LEFT JOIN categories AS c3
    ON c3.parent = c2.catid
LEFT JOIN posts AS p 
    ON c.CATID = p.category
    OR c2.CATID = p.category
    OR c3.CATID = p.category
WHERE c.parent = '0' 
GROUP BY c.CATID, c.name
ORDER BY c.name ASC


  1. Returnera en lista med tabeller från en länkad server i SQL Server (T-SQL-exempel)

  2. Projektlänkar fungerar inte på Wamp Server

  3. SELECT DISTINCT är långsammare än förväntat på mitt bord i PostgreSQL

  4. Har PHP en konstruktion som liknar .NET:s DataSet?