Bạn đã viết đúng cú pháp:
WITH AuthorRating(AuthorName, AuthorRating) AS
SELECT aname AS AuthorName,
AVG(quantity) AS AuthorRating
FROM Book
GROUP By Book.aname
Tuy nhiên, như những người khác đã đề cập, MySQL không hỗ trợ lệnh này. WITH đã được thêm vào SQL: 1999; phiên bản mới nhất của tiêu chuẩn SQL là SQL: 2008. Bạn có thể tìm thêm một số thông tin về cơ sở dữ liệu hỗ trợ các tính năng khác nhau của SQL: 1999 trên Wikipedia .
MySQL theo truyền thống đã tụt hậu một chút trong việc hỗ trợ tiêu chuẩn SQL, trong khi các cơ sở dữ liệu thương mại như Oracle, SQL Server (gần đây) và DB2 đã theo sát chúng hơn một chút. PostgreSQL thường tuân thủ các tiêu chuẩn khá tốt.
Bạn có thể muốn xem lộ trình của MySQL; Tôi không hoàn toàn chắc chắn khi nào tính năng này có thể được hỗ trợ, nhưng nó rất tốt để tạo các truy vấn cuộn lên có thể đọc được.