我尝试了下面的代码,但它不起作用。
spark.sql("""SELECT categories, business_id
FROM business_data
WHERE categories = 'Ice Cream'
""").show(150, truncate=False)
似乎有一种不同的方式从数组查询,但我无法弄明白。 这就是我的数据。
示例数据:
谢谢
答案 0 :(得分:1)
通常,如果你想从数组中查询某些东西,你会使用array_contains,如下:
SELECT business_id, categories
FROM business_data
WHERE array_contains(categories,'Ice Cream & Frozen Yogurt')
答案 1 :(得分:1)
MySQL特定: FIND_IN_SET(str,strlist)
来自DOCS:
如果字符串str位于由N个子字符串组成的字符串列表strlist中,则返回1到N范围内的值。字符串列表是由字符串分隔的子字符串组成的字符串。如果第一个参数是常量字符串而第二个参数是SET类型的列,则FIND_IN_SET()函数被优化为使用位算术。如果str不在strlist中,或者strlist是空字符串,则返回0。如果任一参数为NULL,则返回NULL。如果第一个参数包含逗号(,)字符,则此函数无法正常工作。
min()
所以在你的情况下...
baby.min2 = function(x, ...) -max(-x, ...) # also handles na.rm
baby.min3 = function(x) x[order(x)][1]
baby.min4 = function(x) x[which.min(x)]