当前位置: 首页 > 面试题库 >

SQL:仅返回第一次出现

李经国
2023-03-14
问题内容

我很少使用SQL,也无法在档案库中找到任何类似的内容,所以我问一个简单的查询问题:我需要一个查询,该查询返回 personID 且仅返回第一个
seeedTime

记录:

seenID | personID | seenTime
   108      3         13:34
   109      2         13:56
   110      3         14:22
   111      3         14:31
   112      4         15:04
   113      2         15:52

想要的结果:

personID | seenTime
   3         13:34
   2         13:56
   4         15:04

那就是我做过的和失败的:

SELECT t.attendanceID, t.seenPersonID, t.seenTime
(SELECT ROW_NUMBER() OVER (PARTITION BY seenID ORDER BY seenID) AS RowNo,
seenID,
seenPersonID,
seenTime
FROM personAttendances) t
WHERE t.RowNo=1

PS:注意SQL CE 4


问题答案:

如果您的seenTime增加,随着seenID增加:

select personID, min(seenTime) as seenTime
from personAttendances
group by personID

更新另一种情况:

如果不是这种情况,并且您确实希望SeenedTime与最小的seeedID相对应(假设seenID是唯一的):

select a.personID, a.seenTime
from personAttendances as a
    join (
        -- Get the min seenID for each personID
        select personID, min(seenID) as seenID
        from personAttendances
        group by personID
    ) as b on a.personID = b.personID
where a.seenID = b.seenID


 类似资料:
  • 本文向大家介绍仅返回使用MySQL DISTINCT出现一定次数的字段?,包括了仅返回使用MySQL DISTINCT出现一定次数的字段?的使用技巧和注意事项,需要的朋友参考一下 要返回出现一定次数的字段,语法如下: 让我们首先创建一个表- 使用插入命令在表中插入一些记录- 使用select语句显示表中的所有记录- 这将产生以下输出- 以下是查询以返回使用MySQL DISTINCT出现一定次数的

  • 我正在检测电子邮件是否通过标题上显示的指令与fire base进行验证,并且它可以工作,但有一个奇怪的错误。 第一次尝试验证邮件时,即使已验证,也会显示未验证。当方法再次被执行时,它返回它已被验证。 我已经检查过了,这不是时间问题,即使我从验证邮件的那一刻到我告诉应用程序检查它是否被验证的那一刻离开了很长时间,它总是在第一次尝试时失败。 我该怎么办,如果电子邮件被验证,它返回说,它是从第一次尝试验

  • 问题内容: 我有一个查询,返回以下行: StateId,OrderId,OrderTime,PermitId 我只需要返回全盘完全重复的行,因此每条记录必须与另一条记录完全相同,这样它才可以重复。我想退回两个记录。这些记录与一堆没有重复的记录混在一起… 任何的想法? 问题答案: 首先,确定重复项。其次,重新加入以提取这些行。 非聚集(或非窗口/排名)自连接形成部分交叉连接,并为任何一组键给出重复的

  • 问题内容: 我正在研究一个存储过程,该过程返回一列数据类型。 但是,我只想返回几秒钟。我正在使用它,但它返回秒。 有删除秒的想法吗? 问题答案: 只需将其更改为转换为VARCHAR(5):)

  • 问题内容: 好的,我有以下代码: 然后,当我尝试回显内容时,只能回显输出第一项,但是如果我尝试回显,则会得到未定义的偏移量。 但是,如果我通过PHPMyAdmin运行以上查询,它将返回10个项目的列表。为什么不能将其识别为10个项的数组,让我回显0-9? 谢谢您的帮助。 问题答案: 那是因为数组代表返回结果集中的一行。您需要再次执行该功能以获得下一条记录。例:

  • 问题内容: 我有这个简单的PHP代码: 它仅返回以下内容: 我的表中有3500多行,并且在PhpMyAdmin中运行SQL效果很好。 问题答案: 您的示例拼写错误 每次调用时以及行外时都会返回一行。通过在条件中为其分配变量来利用它,以发挥您的优势。在循环中,将是当前行。