我在配置单元上有两个表。第一个称为“访问”,包含apache日志,其中第一个字段是完整的ip地址:10.4.5.12--[26/Jun/2010:11:16:09+1000]"GET/myportal/pageAHTTP/1.1"10.4.41.2--[26/Jun/2010:11:18:09+1000]"GET/myportal/pageBHTTP/1.1"10.5.1.111--[26/Jun/2010:11:22:09+1000]"GET/myportal/pageAHTTP/1.1"192.10.4.177--[26/Jun/2010:11:22:41+1000]"GET/my
问题:从STATION中查询以元音字母(即a、e、i、o和u)作为第一个和最后一个字符的城市名称列表。您的结果不能包含重复项。我找到了@Mureinik编辑的答案,(谢谢!很有帮助!)SELECTDISTINCTCITYFROMSTATIONWHERECITYRLIKE'^[aeiouAEIOU].*[aeiouAEIOU]$';我很困惑,问题是问他们的第一个和最后一个字符是aeiou,为什么我不能只使用CITYRLIKE'^[aeiouAEIOU][aeiouAEIOU]$'但是,当我取出.和*,则显示错误答案。为什么我们需要使用.和*在这个问题中?做。和*总是一起使用?还有一个问题
我正在尝试(INNER)使用RLIKE连接Hive中的两个表。selecta.col_x,b.col_y,count(*)asnfromtableAajointableBbONa.col_xRLIKEconcat('^',b.col_z)groupbya.col_x,b.col_y(表A约100M条记录,表B约1k条记录)此查询将不起作用,因为Hive仅支持相等连接。我将不等式移至where子句(引用:ErrorinHiveQuerywhilejoiningtables)。selecta.col_x,b.col_y,count(*)asnfromtableAa,tableBbWHERE
考虑一个像这样的表datatbl:+----------+|strfield|+----------+|abcde||fgHIJ||KLmno|+----------+我想写一个这样的查询:select*fromdatatblwherestrfieldrlike'[a-z]*';在非SQL正则表达式中,我想返回带有abcde的小写行,而不是带有大写字母的行。我似乎找不到一种简单的方法来做到这一点。我错过了什么愚蠢的东西吗? 最佳答案 MySQLREGEXP/RLIKE很糟糕——你需要将数据asBINARY转换为区分大小写的搜索:SE