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

Hvordan tæller man antallet af forekomster af hvert fremmednøgle-id i en tabel?

Din forespørgsel er næsten rigtig, og det er den rigtige måde at gøre det på (og den mest effektive)

SELECT books.*, count(orders.book_id) as number_of_orders        
from books
left join orders
on (books.book_id = orders.book_id)
group by
    books.book_id

COUNT(*) kunne inkludere NULL-værdier i optællingen, fordi den tæller alle rækkerne, mens COUNT(orders.book_id) ikke, fordi den ignorerer NULL-værdier i det givne felt.



  1. 2 fremmednøgler, der refererer til den samme primære nøgle i MySQL

  2. Hvordan kontrollerer man, om en given data findes i flere tabeller (som alle har den samme kolonne)?

  3. ActiveRecord-fejl:SAVEPOINT active_record_1 eksisterer ikke

  4. Hvad er forskellen mellem mysql og mysql2 perle