지난 주 동안 특정 엔티티 ID와 연결된 모든 행을 가져 오려고합니다. 각 행에는 타임 스탬프가 있습니다. 나는 날짜 타임 스탬프에서 날짜를 추출하여, 하루 그룹에 그 실체를하고 싶습니다,하지만 난 때, 나는 BigQuery에서에서BigQuery에서 타임 스탬프에서 날짜를 추출 할 수 없습니다.
Error: (L6:28): expression STRFTIME_UTC_USEC([data_timestamp], '%Y-%m-%d') in GROUP BY is invalid
를 얻을. DATE() 함수에 문제가있는 것처럼 보입니다. 여기
내가 실행하고 전체 쿼리입니다 :SELECT Count(*) FROM [myproj:mydataset.mytable]
WHERE
bool_property=False
AND
entity_id=5667423172689920
AND
DATEDIFF(CURRENT_DATE(), data_timestamp) <= 7
GROUP BY DATE(data_timestamp)
데이터를 보면, 여기 'data_timestamp'라는 품질, 사실 적절한 타임 스탬프에 있음을 나타납니다; DATE() 함수가 실패하는 이유를 정말로 이해하지 못합니다.
도움말이나 정보? 감사!
가 아니라, 내가 나타납니다 불구하고 그룹화가 포함되어 있지 않습니다 'GROUP BY'를 사용하여 다른 쿼리를 테스트 했으므로 표준 sql을 사용하여 제대로 작동하는 것으로 보입니다. 그래도 집계 함수에 대해서 당신 말이 맞습니다. 나는 나의 질문을 적합하게 바꾸었다. 내 진짜 문제는 GROUP BY가 아니지만 DATE 함수를 사용하면 비논리적으로 작동하지 않는 것처럼 보입니다. – bgenchel
구문을 기반으로 사용 - legacy sql을 사용하고 있습니다. 내 대답에 쿼리를 실행하려고 시도한 적이 있습니까? 문제는 날짜 기능에 있지만 사실은 그룹에 성명을 레거시 SQL에서 사용했다 –
그래, 그게 완전히 일했다! 그러나, 나는 왜 나는 이해하는지 모르겠다. 당신의 이론/가설은 GROUP BY에 있었기 때문에 날짜 기능이 제대로 작동하지 않는다는 것입니까? 이 쿼리가 어떻게 작동하는지 조금 더 설명해 주시겠습니까? – bgenchel