sql - 什么时候应该在查询中使用 distinct?
问题描述
这是一个普遍的问题:有没有人知道我什么时候应该在查询中使用 distinct ?我正在努力理解何时准确使用它。我倾向于在不需要时使用它,而不是在需要时使用它。
非常感谢大家。
解决方案
基本上,没有什么理由使用select distinct
——尽管它有时是方便的速记。
如果可以避免,请避免!SQL 会产生删除重复项的开销,即使没有重复项也是如此。所以,select distinct
比 慢select
。
通常select distinct
使用 -- 编写更合适group by
,因为您通常希望聚合某些列(例如最大日期/时间)。
也就是说,它可以是方便的简写,所以不应该完全避免,只是很少使用。
推荐阅读
- c# - 在 c# 中模拟 osk 上的鼠标单击自动化
- java - 有谁知道为什么我的 else if 语句不起作用?
- javascript - JS 文档:将函数参数定义为类的实例
- c - 如果在一秒钟内执行“x”次,srand 和 rand 创建相同的数字
- javascript - 找不到匹配项(GAS)时如何在下一个空单元格中插入字符串?
- c# - 在 C# Windows 窗体中将连续输出从控制台重定向到 RichtextBox
- office-js - Scriptlab自定义函数获取TypeError:进行GET api调用时网络请求失败
- php - 为什么 id 变量没有传递给这个文件?
- python - 在 Python 中循环运行命令行参数
- opengl - 多重采样如何适用于整数纹理