sql >> Databáze >  >> RDS >> Mysql

MySQL - Vyberte s COUNT, který vrátí řádek NULL

Myslím, že chcete left join místo inner join protože chcete vrátit počet 0 místo chybějícího řádku, když neexistuje žádný odpovídající c záznam pro daný b záznam.

Také byste měli zahrnout group by při použití agregační funkce, jako je count .

SELECT
    b.b_id,
    COUNT(DISTINCT c.c_id) AS count
FROM 
    b 
    LEFT JOIN c 
        ON b.b_id=c.b_id  
        AND c.active='yes' 
WHERE b.featured='no'
GROUP BY b.b_id


  1. Operátor porovnání SQL

  2. Jaký je dobrý způsob, jak denormalizovat databázi mysql?

  3. Proč se znaky Unicode v databázi zobrazují správně, ale jako ? při tisku v Javě přes Hibernate?

  4. Proč se můj php kód nepřipojuje k mé vzdálené databázi MySql?