sql - 在某些列中查找具有相同值的行
问题描述
如何在表中找到具有相同日期和类型值的行?
桌子:
id dt type
30 2020-12-26 15:07:00 9
30 2020-12-26 15:07:00 7
30 2020-12-26 15:07:00 9
我只想找到:
30 2020-12-26 15:07:00 9
30 2020-12-26 15:07:00 9
解决方案
您可以使用窗口函数:
select t.*
from (select t.*, count(*) over (partition by dt, type) as cnt
from t
) t
where cnt >= 2;
注意:您可能还需要包含id
. 目前尚不清楚这是否是复制的一部分。
推荐阅读
- vb.net - 由于我添加了错误捕获机制,二进制搜索正在崩溃
- c# - .net5 中的片段包
- elasticsearch - 在查询后使用搜索,但弹性搜索 API _nodes/stats/indices/search 仍然显示超过 10 个开放上下文
- c# - 如何检查这个确切的类是否已经在另一个名称的数据库中?(MongoDB)
- elasticsearch - 如何删除已拍摄的弹性搜索快照中的一组特定索引
- python-3.x - 在不和谐机器人中创建时间对象时收到此错误“'datetime.datetime'对象的描述符'时间'不适用于'int'对象”
- matlab - 具有不同颜色的clusterdata的Gscatter plot Matlab
- html - 如何删除页面中剩余所有元素的水平滚动条?
- r - 无法上传到 shinyapps.io
- java - 如何使用 Java Streams 解决此代码中的问题?