sql - SQL - 获取最小值
问题描述
有人可以帮助我完成以下查询。非常感谢你!
我试图从中得到:
FILE_NO EVENT_TIME VOY
VN1234 2021-06-20 03:15:00 QR888/20
VN1234 2021-06-22 07:10:00 QR999/22
对此:
FILE_NO EVENT_TIME VOY
VN1234 2021-06-20 03:15:00 QR888/20
我的查询是:
SELECT
BEE.FILE_NO,
BEE.TIME,
BEE.VOY
FROM BRDB.EXPORT_EVENT BEE
WHERE
BEE.EVENT_CODE = 'OKL' AND
BEE.FILE_NO = 'VN1234'
解决方案
您可以使用order by
并将行限制为一行:
SELECT BEE.*
FROM BRDB.EXPORT_EVENT BEE
WHERE BEE.EVENT_CODE = 'OKL' AND
BEE.FILE_NO = 'VN1234'
ORDER BY EVENT_TIME
OFFSET 1 ROW FETCH FIRST 1 ROW ONLY;
注意:这使用标准 SQL 语法。大多数数据库都有另一种方法来将结果集限制为一行——例如LIMIT
或SELECT TOP
。
编辑:
基于编辑:
SELECT BEE.*
FROM (SELECT BEE.*,
ROW_NUMBER() OVER (PARTITION BY BEE.FILE_NO ORDER BY EVENT_TIME ASC) as seqnum
FROM BRDB.EXPORT_EVENT BEE
WHERE BEE.EVENT_CODE = 'OKL'
) BEE
WHERE seqnum = 1;
推荐阅读
- asp.net-mvc - 输入键上的 Textarea 换行在 .NET Core MVC 应用程序上不起作用
- php - PHP Memcache/Memcached 的 addServer 方法是如何工作的?
- node.js - Neo4j 密码中无法识别我的参数映射
- java - 如何使用 JavaMail 的 MimeUtility 或 Apache Commons 和quoted-printable 获得 UTF-8 字符的两序列表示?
- android - Android Studio 突然在某些文件上显示错误的编码错误
- paperjs - The method Path.Line.translate() does not update the segments of the path
- r - Tabulate column containing list in R
- java - Multithreading Issue with group chat in Java Sockets
- c# - Connect to Oracle Database in C#
- css - flexbox css可以用来创建垂直和水平页面覆盖消息吗