首页 > 解决方案 > SQL 查询:使用第 5 行作为标题“插入”

问题描述

我是新手 APACHE HIVE 用户。

我的表 A 看起来像这样:

     1                     2         3          4         5
1  #filename-login data    
2  #version:1.4  
3  #id:3
4
5  Counter                 Time      State         Sum      Average
6  1                    2018-10-27   Normal        10         25.4
7  2                    2018-10-28   Sleeping      13         30.1 
8  3                    2018-10-29   Normal        15         87.4

我想使用上面的表 A 创建表 B。首先,我想获取表 A 中除前 4 行之外的所有信息。所以标题将是第 5 行。


INSERT INTO tableB
SELECT * FROM tableA 
WHERE rownum>4 and int(Counter)>0

这个查询对吗?如果有人能给我有用的反馈,我将不胜感激

标签: sqlhiveheader

解决方案


在此查询中,您只需将所有内容都转换为 int 在这种情况下,您可能希望使用“未签名”来获得 int 结果,因此另一个前面有单词的值将转换为 0,因为我看到您的标题前面总是有 #所以这不会是任何问题

INSERT INTO tableB
SELECT * FROM tableA 
WHERE cast(username as unsigned) >0

推荐阅读