2017-12-03 7 views
0

각 그룹의 첫 번째 날짜와 마지막 날짜를 가져 오려고합니다. 나는 sqlite의 첫 번째 및 마지막 함수

는 기본적으로 테이블은 그대로 .. 그것에 대한 문서를 찾을 수 없습니다 : 첫 번째와 마지막 함수가 존재하지 않습니다 물론

select start, --timestamp 
     first(open) partition by start order by asc, 
     max(high), 
     min(low), 
     last(close) partition by start order by asc 
from candles_USDT_BTC 
group by round(start/1800); --group by 15 min 

, 너희들은 아이디어를 얻을 단지에 대한 ...

답변

0

당신은 추가로 사용할 수 있습니다 join s :

select cub.s, cub.max_high, cub.min_low, f.open, l.close 
from (select round(start/1800) as s, max(high) as max_high, min(low) as min_low, 
      min(start) as first_start, 
      max(start) as last_start 
     from candles_USDT_BTC 
     group by round(start/1800) 
    ) cub join 
    candles_USDT_BTC f 
    on f.start = cub.first_start join 
    candles_USDT_BTC l 
    on l.start = cub.last_start; 
0

당신은 그룹의 최소/최대 값을 가진 행을 찾기 위해 상관 하위 쿼리를 사용할 수 있습니다

SELECT start, 
     (SELECT open 
     FROM candles_USDT_BTC AS c2 
     WHERE round(c2.start/1800) = round(candles_USDT_BTC.start/1800) 
     ORDER BY start ASC 
     LIMIT 1), 
     max(high), 
     min(low), 
     (SELECT close 
     FROM candles_USDT_BTC AS c2 
     WHERE round(c2.start/1800) = round(candles_USDT_BTC.start/1800) 
     ORDER BY start DESC 
     LIMIT 1) 
FROM candles_USDT_BTC 
GROUP BY round(start/1800); 
관련 문제