BOTTOM Function Examples | Teradata Vantage - 17.10 - Examples - Advanced SQL Engine - Teradata Database

Teradata Vantageā„¢ - Time Series Tables and Operations

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Release Date
July 2021
Content Type
Programming Reference
Publication ID
B035-1208-171K
Language
English (United States)

Example: Using BOTTOM without Ties

/*PTI Table*/
SELECT $TD_TIMECODE_RANGE, $TD_GROUP_BY_TIME, BUOYID, BOTTOM(2, TEMPERATURE)
FROM OCEAN_BUOYS
WHERE TD_TIMECODE BETWEEN TIMESTAMP '2014-01-06 10:00:00' AND TIMESTAMP '2014-01-06 10:06:00' AND BUOYID=44
GROUP BY TIME (MINUTES(2) AND BUOYID) FILL(NULLS)
ORDER BY 1, 4, 3;

/*Non-PTI Table*/
SELECT $TD_TIMECODE_RANGE, $TD_GROUP_BY_TIME, BUOYID, BOTTOM(2, TEMPERATURE)
FROM OCEAN_BUOYS_NONPTI
WHERE TIMECODE BETWEEN TIMESTAMP '2014-01-06 10:00:00' AND TIMESTAMP '2014-01-06 10:06:00' AND BUOYID=44
GROUP BY TIME (MINUTES(2) AND BUOYID)
USING TIMECODE(TIMECODE)
FILL(NULLS)
ORDER BY 1, 4, 3;

The results are the same for both tables:

TIMECODE_RANGE GROUP BY TIME (MINUTES(10)) BUOYID BOTTOM(2, TEMPERATURE)
('2014-01-06 10:00:00.000000+00:00', '2014-01-06 10:02:00.000000+00:00') 1 44 43
('2014-01-06 10:00:00.000000+00:00', '2014-01-06 10:02:00.000000+00:00') 1 44 43
('2014-01-06 10:02:00.000000+00:00', '2014-01-06 10:04:00.000000+00:00') 2 44 53
('2014-01-06 10:02:00.000000+00:00', '2014-01-06 10:04:00.000000+00:00') 2 44 53
('2014-01-06 10:04:00.000000+00:00', '2014-01-06 10:06:00.000000+00:00') 3 44 ?

Example: Using BOTTOM with Ties

/*PTI Table*/
SELECT $TD_TIMECODE_RANGE, $TD_GROUP_BY_TIME, BUOYID, BOTTOM WITH TIES(2, TEMPERATURE)
FROM OCEAN_BUOYS
WHERE TD_TIMECODE BETWEEN TIMESTAMP '2014-01-06 10:00:00' AND TIMESTAMP '2014-01-06 10:06:00' AND BUOYID=44
GROUP BY TIME (MINUTES(2) AND BUOYID) FILL(NULLS)
ORDER BY 1, 4, 3;


/*Non-PTI Table*/
SELECT $TD_TIMECODE_RANGE, $TD_GROUP_BY_TIME, BUOYID, BOTTOM WITH TIES(2, TEMPERATURE)
FROM OCEAN_BUOYS_NONPTI
WHERE TIMECODE BETWEEN TIMESTAMP '2014-01-06 10:00:00' AND TIMESTAMP '2014-01-06 10:06:00' AND BUOYID=44
GROUP BY TIME (MINUTES(2) AND BUOYID)
USING TIMECODE(TIMECODE)
FILL(NULLS)

The results are the same for both tables:

TIMECODE_RANGE GROUP BY TIME (MINUTES(10)) TIMECODE BUOYID TEMPERATURE
('2014-01-06 10:00:00.000000+00:00', '2014-01-06 10:02:00.000000+00:00') 1 2014-01-06 10:00:24.000000 44 43
('2014-01-06 10:00:00.000000+00:00', '2014-01-06 10:02:00.000000+00:00') 1 2014-01-06 10:00:24.333300 44 43
('2014-01-06 10:00:00.000000+00:00', '2014-01-06 10:02:00.000000+00:00') 1 2014-01-06 10:00:25.122200 44 43
('2014-01-06 10:00:00.000000+00:00', '2014-01-06 10:02:00.000000+00:00') 1 2014-01-06 10:00:26.122200 44 43
('2014-01-06 10:02:00.000000+00:00', '2014-01-06 10:04:00.000000+00:00') 2 2014-01-06 10:02:25.122200 44 53
('2014-01-06 10:02:00.000000+00:00', '2014-01-06 10:04:00.000000+00:00') 2 2014-01-06 10:03:25.122200 44 53
('2014-01-06 10:04:00.000000+00:00', '2014-01-06 10:06:00.000000+00:00') 3 ? 44 ?