Originariamente inviato da piero.mac
dovrebbe essere possibile....

codice:
SELECT a.author, a.title, num 
FROM books a,
     (select author, count(*) as num 
     from books b 
     group by author) as tot
where a.author = tot.author
order by num desc
mi pare possa/debba funzionare.
Funziona perfettamente.
Puoi spiegarmi la sintassi?

  • Mi sembra che la tabella "a" sia una tabella temporanea creata a runtime (altrimenti i campi a.author e a.title non esisterebbero), e viene creata con "FROM books a" come copia di "books", giusto?
  • La subquery "SELECT author, COUNT(*) AS num FROM books b GROUP BY author" restituisce gli autori raggruppati per numero di record, sempre da una tabella temporanea "b" (mi sembra che la tabella copia "b" si può anche evitare, senza funziona ugualmente)
  • "WHERE a.author = tot.author" non capisco...