【发布时间】:2018-11-24 14:10:00
【问题描述】:
我有一个表格,其中每一行都有一个“group_id”列。我想将该组中所有行的“压缩”输出作为单行(或更简洁的任何类型的结构 - 并不重要)。此行仅供应用使用,不得保存在数据库中。由于表很大,我自己计算会很贵。我愿意预先计算这个值并缓存它。我不打算在那之后即时计算。
在“压缩”表示中,我不关心哪些值属于哪些键。我只想为给定的group_id 预先设置所有选项。
例如,我的表的一个子集如下所示:
primary_key, group_id, column_a, column_b, column_c
key1, g1, a, b, c
key2, g1, a, b_1, c
key3, g1, a_1, b, c
key4, g2, a, b, c
key5, g2, a, b, c
key6, g3, x, y, z
key7, g3, x_1, y_1, z_1
key8, g3, x_2, y_2, z_3
一个很好的结果应该是
g1, a & a_1, b & b_1, c
g2, a, b, c
g3, x & x_1 & x_2, y & y_1 & y_2, z & z_1 & z_2
就像所有列上的 GROUP BY 将所有可能的结果聚合到 group_id 列的单行
【问题讨论】:
-
提示:
GROUP_CONCAT(). -
完美!回答并会除外!
标签: sql sqlite group-by aggregate-functions