Oracle SQL语句编写求字段最大连续出现值的个数

表table_name的表结构及其表数据示例如下:

ID_DATE 列A 列B 列C
20170101-1 A
20170101-2 A
20170101-3 B
20170102-1 C
20170102-2 C
20170102-3 C
20170103-1 B
20170103-2 A
20170103-3 C

说明:表数据按ID_DATE列升序排序。列A、列B、列C这3列字段一定有1列字段存在数据,且3列中仅能有1列有数据,三者互斥。
要求实现:编写Oracle SQL语句,计算列A、列B、列C最大连续存在数据行的数量。
如表数据示例中,在按ID_DATE列升序排序下,列A最大连续存在数据行的数量是2,列B最大连续存在数据行的数量是1,列C最大连续存在的数据行是3。

第1个回答  2016-12-30
数据库是做批量处理的
你描述的流程是行处理
如果可以建议放在专门的代码C#/Java里面实现更简单本回答被提问者和网友采纳
相似回答