sql - 选择具有条件的唯一字段值
问题描述
我是 SQL 新手,我的问题是:
我有一张像
card shop time date
1 1 0000 20171001
2 2 0125 20171002
2 1 0344 20171002
3 3 0342 20171103
4 5 1334 20171104
4 4 1225 20171105
5 4 1452 20171106
我需要通过列的最小值和(优先)选择两个字段( card
(card
必须是唯一的)和)。shop
time
date
date
结果应如下所示:
card shop time date
1 1 0000 20171001
2 2 0125 20171002
3 3 0342 20171103
4 5 1334 20171104
5 4 1452 20171106
先感谢您!
解决方案
对于 SQL Server,您可以使用WITH TIES
select top 1 with ties *
from yourTable
order by row_number() over (partition by card order by date asc, time asc)
推荐阅读
- python - 为什么 scipy.ndimage 中的 generic_filter 从 opencv.Sobel 得到不同的结果
- python - Anaconda Navigator Updater UnsatisfiableError
- c++ - for循环内的多线程 - OpenMP
- reactjs - 使用 React 建模一些过滤器组件
- python - tkinter:按下按钮添加新图像错误
- sql - 将无序哈希作为 rowid 插入时,SQLite 的行为如何?
- java - 无法在 android 中的 ScheduledThreadPoolExecutor 的帮助下定期运行任务
- operating-system - 当信号量上的进程调用信号时会发生什么?
- python - 如何将 subprocess.call(["cp", "-r", ...]) 转换为在 Windows 10 上工作?
- java - 如果我在 Processing 的 setup 方法中绘制地图并完全停止 draw() 运行,我的地图不应该至少绘制一次吗?