我想知道是否有人可以帮助解释为什么GROUP BY在常数列上使用VARCHARvs. INTEGER给出不同行为的列。
这是我的最小工作示例。下表模拟了我发现此问题的真实数据:
CREATE TABLE test.show_bug AS
WITH integers AS (
SELECT 0 AS num
UNION SELECT 1 AS num
UNION SELECT 2 AS num
UNION SELECT 3 AS num
UNION SELECT 4 AS num
UNION SELECT 5 AS num
)
SELECT
'2017-03-16' + mod(a.num, 2) AS date_time
, CASE mod(b.num, 3)
WHEN 0 THEN 'source_a'
WHEN 1 THEN 'source_b'
WHEN 2 THEN 'source_c'
END AS user_source
, b.num || a.num || b.num || …Run Code Online (Sandbox Code Playgroud)