hive SQL/配置单元计数非重复列

7ajki6be  于 6个月前  发布在  Hive
关注(0)|答案(3)|浏览(55)

如何在SQL/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

ztigrdn8

ztigrdn81#

是的,几乎是正确的。但是你有一个简单的错误。你的列名称是错误的。

SELECT columnA,columnB,COUNT(DISTINCT columnC) No_of_distinct_colC
from table_name
group by columnA,columnB

字符串

unhi4e5o

unhi4e5o2#

如果你使用PySpark,下面的代码应该可以工作:

import pyspark.sql.functions as F
spark.sql('select * from table_name')\
         .groupby(columnA, columnB)\
         .agg(F.countDistinct('columnC') ).show()

字符串

vsnjm48y

vsnjm48y3#

SELECT * 
FROM
(
    SELECT columnA, columnB, COUNT(DISTINCT column C) AS dis_col
    FROM table_name
    GROUP BY columnA, columnB
) A;

字符串

相关问题