sql >> Database teknologi >  >> RDS >> Mysql

Tæller alle indlæg, der tilhører en kategori OG dens underkategorier

Hvis kategorierne ikke er indlejret uendeligt, kan du JOIN dem et niveau ad gangen. Her er et eksempel på op til 3 niveauer af indlejring:

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. Sådan lukkes en markør korrekt i Android

  2. Tilføj måneder til en dato i PostgreSQL

  3. Tjenester med manglende/utilgængelige afhængigheder

  4. MySQL-BEGRÆNSNING og INGEN HANDLING