当前位置: 首页 > 面试题库 >

SQL GROUP BY是否存在设计缺陷?[关闭]

秋阳旭
2023-03-14
问题内容

关门了 。这个问题是基于观点的。它当前不接受答案。

想要改善这个问题吗?
更新问题,以便通过编辑此帖子以事实和引用的形式回答。

11个月前关闭。

改善这个问题

为什么SQL要求我指定要对哪些属性进行分组?为什么不能只使用所有非聚合?

如果一个属性没有聚合并且不在 GROUP BY
子句中,那么不确定元组的选择将是唯一的选择,前提是元组是无序的(mysql做到了这一点),这是一个巨大的难题。据我所知,Postgresql要求必须将未出现在
GROUP BY 中的所有属性进行汇总,以加强其多余性。

  • 我是否遗漏了某些东西,还是这是一种语言设计缺陷,会导致松散的实现方式并使查询更难编写?
  • 如果我遗漏了什么,那么无法推断出组属性的查询示例是什么?听听

问题答案:

您不必按选择的完全相同的内容进行分组,例如:

SQL:select priority,count(*) from rule_class
group by priority



PRIORITY   COUNT(*)
      70          1
      50          4
      30          1
      90          2
      10          4





SQL:select decode(priority,50,'Norm','Odd'),count(*) from rule_class
group by priority





DECO   COUNT(*)
Odd           1
Norm          4
Odd           1
Odd           2
Odd           4





SQL:select decode(priority,50,'Norm','Odd'),count(*) from rule_class
group by decode(priority,50,'Norm','Odd')





DECO   COUNT(*)
Norm          4
Odd           8


 类似资料:
  • 本文向大家介绍判断发现的问题是否是缺陷的方法?相关面试题,主要包含被问及判断发现的问题是否是缺陷的方法?时的应答技巧和注意事项,需要的朋友参考一下 ①通过参考文档来确认缺陷 ②通过了解软件产品的行业背景(或参考同类典型软件)来发现缺陷 ③通过沟通来确认和识别缺陷

  • 尽管支持抢先式多任务处理,但进程生成却很昂贵——虽然比不上 VMS,但是(平均生成一个进程需要0.1秒左右)要比现在的 Unix 高出一个数量级。脚本功能薄弱,操作系统广泛使用二进制文件格式。除了此前我们总结过的,还有这些后果: 大多数程序都不能用脚本调用。程序间依赖复杂脆弱的远程过程调用(RPC)来通信,这是滋生 bug 的温床。 ……………… Unix 的系统配置和用户配置数据分散存放在众多的

  • 本文向大家介绍Apache Kafka的缺陷相关面试题,主要包含被问及Apache Kafka的缺陷时的应答技巧和注意事项,需要的朋友参考一下 答:Kafka的局限性是: 没有完整的监控工具集 消息调整的问题 不支持通配符主题选择 速度问题

  • 像这个问题的作者一样,我试图理解Scala 2.10的期货和promise中用户可见promise的原因。 特别是,再回到SIP的例子,它是不是完全有缺陷: 我正在想象对的调用会导致运行时异常的情况。因为Promise和Producer-Future是完全分离的,这意味着系统挂起,消费者永远不会成功或失败。 因此,使用promise的唯一安全方式需要类似这样的东西 这显然容易出错和冗长。 对于可见