SELECT 具有复合主键的 table 组中每一行的值
SELECT values of each row within groups on a table with composite primary key
我正在使用 Ignite 2.8.1
我有一个 table T1(a,b,c)
,其中 a
和 b
作为主列。
我想知道每个组中每个 b
的值。
通常这会很好,因为在这种情况下主键在功能上依赖于分组列 c
,但 Ignite 返回一个错误,指出 b
必须是 group by
之一'一个列...这不是我想要的,实际上这与不分组是一样的。
使用可用的 SELECT - 你能建议如何让 Ignite 为每个组生成 a
和 b
,甚至只生成 b
。它愉快地生成 a
就好像它是主键中唯一的列一样。
您可能只想预先计算每个组的计数,然后为每个 a
& b
组合添加此信息:
SELECT a, b, c, cnt
FROM T1
INNER JOIN (
SELECT c, COUNT(c) as cnt
FROM T1
GROUP BY c
) counts
ON counts.c = c
我正在使用 Ignite 2.8.1
我有一个 table T1(a,b,c)
,其中 a
和 b
作为主列。
我想知道每个组中每个 b
的值。
通常这会很好,因为在这种情况下主键在功能上依赖于分组列 c
,但 Ignite 返回一个错误,指出 b
必须是 group by
之一'一个列...这不是我想要的,实际上这与不分组是一样的。
使用可用的 SELECT - 你能建议如何让 Ignite 为每个组生成 a
和 b
,甚至只生成 b
。它愉快地生成 a
就好像它是主键中唯一的列一样。
您可能只想预先计算每个组的计数,然后为每个 a
& b
组合添加此信息:
SELECT a, b, c, cnt
FROM T1
INNER JOIN (
SELECT c, COUNT(c) as cnt
FROM T1
GROUP BY c
) counts
ON counts.c = c