Aggregrate functions do not behave as expected on the following points:
- If no row is selected the resultset returned is empty whereas in the case of aggregates it should returns some default values (e.g. SELECT count ... should return 0 if no row is returned).
- The column name returned for max(a) when a is an int is max(int -> int) and should be max(a) if no alias is used.
- When used with limit the value returned is not always the expected one. It sometimes include an extra row.