I would go even further and say that "GROUP BY ALL" and "ORDER BY ALL" should be implied if not provided in the query.
EDIT: Typo
EDIT: Typo
SELECT city, COUNT(*)
FROM customers
In SQLite is transformed into: SELECT FIRST(city), COUNT(*)
FROM customers
In our experience this is not a good default since it is almost never what you want, and hence we did not copy this behavior and instead throw an error in this situation. However, if we were to add an implicit `GROUP BY ALL` our transformed queries would now diverge, i.e. we would transform the above query to: SELECT city, COUNT(*)
FROM customers
GROUP BY city
Having diverging query results from SQLite on quite basic queries would confuse a lot of newcomers in DuckDB, and potentially cause silent problems when query semantics change when switching databases.We could definitely add a flag to enable this behavior, however.