发布网友 发布时间:2022-10-16 22:25
共1个回答
热心网友 时间:2023-10-24 21:39
摘要方法:1.DBGrid新添加一个field,field名字为ID,这个字段在你的表中是不存在的。 2.SQL.Add('SELECT ID = row_number() over(order by 时间), 时间,A,B,C,D,E FROM weight WHERE year(时间)=2014 ');咨询记录 · 回答于2021-07-12hive sql如何在每个单一id后加上1-6不同的数字,成为6行数据。因为要做月份单量的检查表统计,但是有些月份销售没有出单,故想在后面加上月份方法:1.DBGrid新添加一个field,field名字为ID,这个字段在你的表中是不存在的。 2.SQL.Add('SELECT ID = row_number() over(order by 时间), 时间,A,B,C,D,E FROM weight WHERE year(时间)=2014 ');你这不是4行啊,这不是加了4列吗返回行数没用啊,abcde是分别的四列hive sql 给查询结果添加整体序号、查询结果分组添加组内序号1、需要的函数及关键字:ROW_NUMBER ( ) 函数OVER ( ) 函数PARTITION BYORDER BY1.1 ROW_NUMBER ( ) 函数将针对SELECT语句返回的每一行,从1开始编号,赋予其连续的编号。1.2 partition by 用于给结果集分组2、给查询结果整体添加序号2.1 查询结果直接添加序号select row_number ( )2.2 给查询结果排序添加序号2.2.1 按照字段 ab_f 顺序排序结果添加序号select row_number ( ) over ( order by ab_f )2.2.2 按照字段ab_f降序排序结果添加序号select row_number ( ) over ( order by ab_f desc )3、根据查询结果的某个字段分组,组内添加序号3.1 按照字段 ak_d 分组,在组内按照字段 ab_f排序,组内添加序号select row_number ( ) over ( partition by ak_d order by ab_f )3.2 按照字段 ak_d 、ah_d 分组,在组内按照字段ab_f 排序,组内添加序号select row_number ( ) over ( partition by ak_d,ah_d order by ab_f )