我有一张桌子,上面有不同的停机原因,可能会重复出现.

示例:

downtime cause
x1 A
x2 B
x3 c
x4 A
x5 A
x6 B

我正在试图找出一种方法,在同一个数据库中的另一个表中提供以下结果;但我无法使任何我try 过的代码工作.

downtime cause occurence
x1+x4+x5 A 3
x2+x6 B 2
x3 C 1

注意:每行都有不同的ID

请问我该怎么做?

在过go 的几周里,我try 了几种方法,我try 使用ID,然后我意识到这是一个错误;它根本没有显示出预期的结果.

推荐答案

您可以将cause属性设置为group by,并在SELECT语句中使用Count()来计算出现次数:

var result = myTable.GroupBy( x => x.cause )
       .Select( s => new myNewType
        {
            downtime = string.Join( "+", s.Select( d => d.downtime)),
            cause = s.Key,
            occurence s.Count()
        }).ToList();

Sql相关问答推荐

如何在SQL查询中只比较日期时间的年份和月份(而忽略日期比较)?

基于模式或其他行集的数据复制

JSON列之间的Postgr聚合

如何在Snowflake SQL存储过程中传递LIMIT和OFFSET的参数?

从包含PostgreSQL中的JSON值的列中提取列表或目录

根据Rails活动记录中时间戳/日期时间的时间部分从PostgreSQL中提取记录

数据库SQL-CTE命名空间(错误?)使用临时视图

我可以在SQLite3中使用BLOB作为主键吗?

Oracle 23c ROUND,数据类型为DATE

我需要一个regexp_like来只验证字母D或T、数字和管道

从重复值中获取最新值

如何使用最后一个非 NULL 值在 PostgreSQL 列中填充 NULL 值

如何使用 Google BigQuery 中的条件根据特定列值连接列的 N 行?

JSON对象查询SQL服务器

添加一列并根据其他列值进行填充

SQL Select 最大并获取列名

在 PostgreSQL 中使用重音敏感排序进行重音不敏感搜索

如何将多行的查询结果合并为一行

在给定列中具有特定值的行与 SQL 中的总行数的比率

SQL 中的问题与包含最大日期的记录连接