2017-05-02 1 views
0

열 "타임 스탬프를"이있는 테이블을 쿼리 (시대의 타임 스탬프, UTC (밀리 초)의 BigQuery를 테이블에 입력 한 정수) 내가 말할 수 있어야합니다시간 관련 기능

: one_week_ago과 now 사이의 타임 스탬프

각 쿼리의 정확한 타임 스탬프를 지정하지 않아도됩니다.

WITH timerange AS 
(SELECT *, 
TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 7 * 24 HOUR) AS one_week_ago, 
CURRENT_TIMESTAMP() AS now, 
TIMESTAMP_SECONDS(timestamp) AS measurement_time 
FROM table_name), 

grouped AS 
(SELECT field1, field2, count(*) count 
FROM timerange 
WHERE measurement_time BETWEEN one_week_ago AND now 
GROUP BY field1, field2 
) 

SELECT * FROM timerange 
WHERE field2 = "example" 

그런데 왜 내가 말을 간단하게 할 수 없습니다입니다 : function_call1와 function_call2 사이 타임 스탬프 나는 다음과 같은 작업 쿼리를 알고 추가해야합니까? 1491544587, 1491422047, 1491882866, 1491881903 1491436515, 1491436771, 1491436593, 1491436621, 1491436390, 1491436334

https://cloud.google.com/bigquery/docs/reference/legacy-sql https://cloud.google.com/bigquery/docs/reference/standard-sql/

답변

1

당신이 원하는 것처럼 당신은 확실히 표준 SQL에서 말할 수 있습니다 :

는 이러한 타임 스탬프의 예 :

SELECT * 
FROM table 
WHERE TIMESTAMP_SECONDS(timestamp) BETWEEN 
    TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 7 * 24 HOUR) 
    AND CURRENT_TIMESTAMP()