Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

"You tried to execute a query that does not include the specified aggregate function"

Tags:

SELECT SUM(orders.quantity) AS num, fName, surname FROM author INNER JOIN book ON author.aID = book.authorID; 

I keep getting the error message: "you tried to execute a query that does not include the specified expression "fName" as part of an aggregate function. What do I do?

like image 276
Tobias Funke Avatar asked Oct 17 '13 15:10

Tobias Funke


1 Answers

The error is because fName is included in the SELECT list, but is not included in a GROUP BY clause and is not part of an aggregate function (Count(), Min(), Max(), Sum(), etc.)

You can fix that problem by including fName in a GROUP BY. But then you will face the same issue with surname. So put both in the GROUP BY:

SELECT     fName,     surname,     Count(*) AS num_rows FROM     author     INNER JOIN book     ON author.aID = book.authorID; GROUP BY     fName,     surname 

Note I used Count(*) where you wanted SUM(orders.quantity). However, orders isn't included in the FROM section of your query, so you must include it before you can Sum() one of its fields.

If you have Access available, build the query in the query designer. It can help you understand what features are possible and apply the correct Access SQL syntax.

like image 109
HansUp Avatar answered Sep 20 '22 23:09

HansUp