Distinct函数的替代方法
Distinct函数的替代方法
今天在论坛上看到一个面试题,是说有什么办法可以替代distinct,得到同样的结果。答案都被大家说的差不多了,发现挺有意思的,就记录一下:
SQL> select num from t1;
SQL> select num from t1;
NUM
----------
6
6
7
8
9
1
1
1
1
1
1
1
1
1
1
15 rows selected
SQL> select distinct num from t1;
NUM
----------
1
6
8
7
9
5 rows selected
这个比较无耻,基本属于说了跟没说一样,但确实是对的
SQL> select unique num from t1;
NUM
----------
1
6
8
7
9
5 rows selected
二、用group by来做:
这个应该是出题者的本意
SQL> select num from t1 group by num;
NUM
----------
1
6
8
7
9
5 rows selected
三、用union和minus:
因为union和minus默认都是先distinct然后再做聚集,所以可以这样做:
SQL> select num from t1 minus select 999 from dual;
NUM
----------
1
6
7
8
9
5 rows selected
SQL> select num from t1 union select num from t1 ;
NUM
----------
1
6
7
8
9
5 rows selected
一个是minus一个没有的项,一个是union它本身。
这篇文章是从网上转载的,在实际项目中运到了MARK一下
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!