The Invantive implementation of SQL is based upon ANSI SQL, extended by aspects from popular SQL implementations such as PostgreSQL, MySQL, Oracle, Teradata and Microsoft SQL Server. It is topped of with Invantive-specific extensions, especially for distributed SQL and distributed transactions. The basis is to implement functions such that as little as possible changes are necessary to run a SQL statement originating from another SQL implementation on Invantive UniversalSQL. For instance, to retrieve the current time you can use `sysdate`, `now`, `getdate()` and `sysdatetime` to name a few. Popular group functions such as `stddev` are available. However, currently you can not combine in one unnested SQL statement both group functions as well as expressions on the variables. In that case use an inner (nested) SQL statement to apply the expressions on the data, and execute the group functions in the outer SQL statement with the syntax `select group() from ( select ... from ... )`. ## Group Functions Answered by the Platform A statement whose whole select list is a group function over one table does not need the rows. As of release 27.0 Invantive UniversalSQL asks the data container for the values instead. A count over a million rows is then one question rather than a million answers. The `where` clause travels with the question. Four functions take this route: `count(*)`, `min`, `max` and `sum`. The answer is the same either way. Only the work changes. ```sql select count(*) , min(gla.Code) , max(gla.Code) from ExactOnlineREST..GLAccounts gla where gla.IsBlocked = false ```