Hi, > Your whole query is malformed. You have an aggregate function in the > having.
It's absolutely legal query. In fact I don't get any error messages that say otherwise. I'm not SQL guru but I haven't heard that agregate functions have to be excuded from HAVING clause. To quote a SQL web tutorial "HAVING... was added to SQL because the WHERE keyword could not be used against aggregate functions (like SUM), and without HAVING... it would be impossible to test for result conditions." > try: > select f1,max(f2) from tt where f1=1 group by f1; I thank you for your help but this query will not produce the same result as the original query (I know, on this particular data set it will , but I can show you a slighly more complex data set that shows that). BTW, I've already recoded the aplication to bypass this problem. But all that is beside the point: HAVING clause seems to be evaluated on original data set and not at the end of query execution as it should. Flawed as it may be, the query on the original post demonstrated a bug of mysql in handling HAVING clause. Regards, Gabriel > >>>>How-To-Repeat: > >>> > >>>mysql: create table tt (f1 int, f2 int); > >>>Query OK, 0 rows affected (0.01 sec) > >>> > >>>mysql: insert into tt values(1,1); > >>>Query OK, 1 row affected (0.01 sec) > >>> > >>>mysql: insert into tt values(1,2); > >>>Query OK, 1 row affected (0.00 sec) > >>> > >>>mysql: insert into tt values(2,3); > >>>Query OK, 1 row affected (0.00 sec) > >>> > >>>mysql: select * from tt where f1=1 having f2=max(f2); > >>>Empty set (0.00 sec) --------------------------------------------------------------------- Before posting, please check: http://www.mysql.com/manual.php (the manual) http://lists.mysql.com/ (the list archive) To request this thread, e-mail <[EMAIL PROTECTED]> To unsubscribe, e-mail <[EMAIL PROTECTED]> Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php