我如何在Hive中执行此操作?
columnA columnB columnC
100.10 50.60 30
100.10 50.60 30
100.10 50.60 20
100.10 70.80 40
输出应为:
columnA columnB No_of_distinct_colC
100.10 50.60 2
100.10 70.80 1
我认为是正确的查询:
SELECT columnA,columnB,COUNT(distinct column C)
from table_name
group by columnA,columnB
这是对的吗? SQL也很好。
更新:如何找到columnC的标准偏差?需要这个尽快。
答案 0 :(得分:26)
是的,几乎是正确的。但是你有一个简单的错误。您的列名在COUNT中是错误的。
SELECT columnA,columnB,COUNT(DISTINCT columnC) No_of_distinct_colC
from table_name
group by columnA,columnB
答案 1 :(得分:0)
如果您使用的是 PySpark,以下代码应该可以工作:
import pyspark.sql.functions as F
spark.sql('select * from table_name')\
.groupby(columnA, columnB)\
.agg(F.countDistinct('columnC') ).show()
答案 2 :(得分:-4)
SELECT *
FROM
(
SELECT columnA, columnB, COUNT(DISTINCT column C) AS dis_col
FROM table_name
GROUP BY columnA, columnB
) A;