RETURN Clause
FactEngine Query Language (FEQL) has an optional RETURN clause which is analogous to SELECT and RETURN clauses in the SQL and Cypher query languages.
For example, the following FEQL query has a RETURN, GROUP BY and ORDER BY clause, for a query that returns the count of orders taken by employees in December 2017 in descending order, over a database that stores orders for products (the Northwind database by Microsoft):
Syntax - RETURN Clause
<RETURNCLAUSE> ::= RETURN <RETURNCOLUMN> [, <RETURNCOLUM]*
<RETURNCOLUMN> ::= (<STAR> | <MINMAXELEMENT> | <KEYWDCOUNTSTAR> <ASCLAUSE>? | <MODELELEMENTNAME> (<MODELELEMENTSUFFIX>? <PERIOD> (<COLUMNNAMESTR> (<PERIOD> <NODEMODIFIERFUNCTION>)? | <STAR>) <ASCLAUSE>?)?)
<BROPEN> ::= (
<BRCLOSE> ::= )
<KEYWDAS> ::= AS
<KEYWDMIN> ::= MIN
<KEYWDMAX> ::= MAX
<KEYWDDATE> ::= DATE
<KEYWDTIME> ::= TIME
<KEYWDMONTH> ::= MONTH
<KEYWDTOLOWER> ::= TOLOWER
<KEYWDTOUPPER> ::= TOUPPER
<KEYWDYEAR> ::= YEAR
<KEYWDAVG> ::= AVG
<KEYWDSUM> ::= SUM
<STAR> ::= *
<MINMAXELEMENT> ::= (<KEYWDMIN> <BROPEN> <RETURNCOLUMN> <BRCLOSE> | <KEYWDMAX> <BROPEN> <RETURNCOLUMN> <BRCLOSE>)
<KEYWDCOUNTSTAR> ::= "COUNT(*)"
<ASCLAUSE> ::= KEYWDAS COLUMNNAMESTR
<MODELELEMENTNAME> ::= @"(([A-Z0-9]+[_a-z\-0-9]+[ |_]*)+[_|\s]?)+"
<MODELELEMENTSUFFIX> ::= @"([0-9])+"
<PERIOD> ::= .
<COLUMNNAMESTR> ::= @"(([a-zA-Z0-9][_a-z0-9]+)+[_|\s]?)+";
<NODEMODIFIERFUNCTION> ::= (KEYWDDATE | KEYWDTIME | KEYWDMONTH | KEYWDTOLOWER | KEYWDTOUPPER | KEYWDYEAR | KEYWDAVG | KEYWDSUM | KEYWDMAX | KEYWDMIN)
<ASCLAUSE> ::= AS <COLUMNNAMESTR>