Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Liczenie wszystkich postów należących do kategorii ORAZ jej podkategorii

Jeśli kategorie nie są zagnieżdżone w nieskończoność, możesz dołączyć do nich jeden poziom na raz. Oto przykład dla maksymalnie 3 poziomów zagnieżdżania:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL na zduplikowanym kluczu... uzyskać istniejący identyfikator?

  2. MySQL - auto dekrementacja wartości

  3. Czy można użyć zmiennej zdefiniowanej przez użytkownika MySql w .NET MySqlCommand?

  4. Różnica w wymaganym czasie na wstawienie rekordów InnoDB/MyISAM

  5. Kiedy wybieramy DateTime zamiast Timestamp?