【发布时间】:2018-01-22 05:58:03
【问题描述】:
我有一个表,其架构如下:
root
|id
|name
|col1
|col2
|...
|col30
条件是多行可以具有相同的名称(它们不是主键 - 键是 ID)。 col1-col30 中的值将是某个字符串,也可以是字符串“null”。
我对每个名称填写的列数感兴趣。
例如,
如果名称“test1”在一行中填写了col1-5,另一行填写了“test1”并填写了col1, 3, 10, 6(其余未填写的列只是字符串值“null”) , "test1" 的值应该是 9。
我对 SQL 很陌生,一直在寻找这个。请帮忙。
【问题讨论】:
-
因此,如果相同的名称多次填充相同的列,您将它们全部加起来吗?重要的是填了哪些?
-
样本数据真的很有帮助。您还需要意识到 SQL 表表示 unordered 集,因此除非列指定它,否则没有排序。我还删除了不兼容的数据库标签。请仅使用您真正使用的数据库进行标记。
-
@PatrickArtner 是的,如果名称相同,则将它们全部加起来。填哪个都无所谓
-
@GordonLinoff Argh 我正在尝试使用 spark sql 执行此操作,所以不知道我将使用哪个数据库。我认为他们确实采用 postgresql 或 ansi sql 格式
标签: sql apache-spark-sql