数仓业务上判断一个表的唯一主键是哪几个字段

平时业务量比较大,一张HIVE表里面的字段也比较多,如何判断所select 的这几个字段是这张表的唯一主键,也就是,选取这几个主键,可以唯一确定只有一行数据
可以通过,select A,B,C from table group by A,B,C HAVING COUNT(1)>=2
通过上面这句sql查询出根据ABC三个字段分组的数据其中每组有2条以上的组共有哪些,如果查出来的话有出现数据,就说明存在该分组有两条以上的数据,那么说明A,B,C不是主键,无法确认这张表里面一条唯一的数据,如果查询出来的是没有数据,那么就说明A,B,C是唯一主键,因为不存在以A,B,C为分组且条数有2条以上的数据,它只有一条数据,也就是唯一一行。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:数字20 设计师:CSDN官方博客 返回首页
评论

打赏作者

梦里Coding

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值