像这样的东西:SQL如何根据现有列按组的计数为新列创建值?
但我有两个以上不同的价值观。我有一个可变的 n 个不同的值,所以我并不总是知道我有很多不同的计数。
然后在原始表中,我希望每行“3”、“4”等都有计数,即所有带有“3”的行都有相同的计数,所有带有“4”的行都有相同的计数等
编辑:另外,我将如何通过不同的日期拆分计数,即每个不同值的“2017-07-19”?
edit2:这是我的做法,但现在我需要通过不同的日期拆分它。
edit3:这就是我通过日期拆分的方式。
#standardSQL
SELECT * FROM
(SELECT * FROM table1) main
LEFT JOIN (SELECT event_date, value, COUNT(value) AS count
FROM table1
GROUP BY event_date, value) sub ON main.value=sub.value
AND sub.event_date=SAFE_CAST(main.event_time AS DATE)
编辑4:我希望 PARTITION BY 被记录在更好的地方。BigQuery 或任何有详细文档的东西似乎都没有被广泛写入
#standardSQL
SELECT
*,
COUNT(*) OVER (PARTITION BY event_date, value) AS cnt
FROM table1;