Outdated Version
You are viewing an older version of this section. View current production version.
LAST
An aggregate function that returns the last value of a set of input values, defined as the value associated with the maximum time.
Syntax
LAST (value[, time]);
Arguments
- value: column value to return
- time: time expression for comparison. The expression should be one of the following types:
DATETIME,DATETIME(6),TIMESTAMP,TIMESTAMP(6). If no time expression is specified, then theSERIES TIMESTAMPis used to define the time order. Only oneSERIES TIMESTAMPcan appear in tables used in the query if thetimeargument is omitted.
Return Type
The last value of a set of input rows, as ordered by the time column.
Remarks
- If there are multiple instances of the same maximum time expression, then this function returns an arbitrary value from among the values corresponding with that maximum.
- The function returns an error if there are multiple
SERIES TIMESTAMPcolumns involved, or one is needed due to omision of thetimeargument but none is present. For example, if more than one table in theFROMclause has aSERIES TIMESTAMP, then it becomes ambiguous which timestamp to use. Hence, theSERIES TIMESTAMPto be used must be specified in the second argument of theLASTfunction.
Example
The following examples display the use of LAST function.
CREATE TABLE table1 (a INT, b DATETIME SERIES TIMESTAMP);
INSERT INTO table1 values (1, "2019-03-14 06:28:00"), (2, "2019-04-14 06:28:00"), (3, "2018-03-14 06:28:00");
SELECT LAST (a) FROM table1;
****
+----------+
| LAST (a) |
+----------+
| 2 |
+----------+
SELECT LAST (a, b) FROM table1;
****
+--------------+
| LAST (a, b) |
+--------------+
| 2 |
+--------------+