从行中选择值较小的行

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (6)

我的问题提示可能会令人困惑,但这是我想要做的,我有一个问题:

select * from mytable where days between 1 and 21 

我正在获取7此记录,在这些记录中,有一个用户有2个类,21并且7,我正在尝试使用第二个记录作为我的记录达到21天,以便它可以发送电子邮件。因为这个用户有两个类,我希望它总是被认为忽略第一个类。

不能使用group by因为有些字段不同而且无法删除ID, teacher

第二种情况是,用户一次只能运行一个类,所以可能在这种情况下,我的查询工作正常

提问于
用户回答回答于

在您的数据中,您有两列名称ID,我的意思是ID允许您确定哪一个是最新的。

此外,您应该有一种方法来识别每个学生,在这种情况下,我使用电子邮件地址,因为多个学生可以具有相同的名称。

SELECT *
FROM ( SELECT *, ROW_NUMBER()  OVER (PARTITION BY EmailAddress ORDER BY ID DESC) as rn
       FROM yourTable
     ) as t
WHERE t.rn = 1

所属标签

可能回答问题的人

  • 天使的炫翼

    15 粉丝531 提问35 回答
  • 富有想象力的人

    2 粉丝0 提问26 回答
  • 旺仔小小鹿

    社区 · 运营 (已认证)

    48 粉丝0 提问26 回答
  • 发条丶魔灵1

    6 粉丝525 提问25 回答

扫码关注云+社区

领取腾讯云代金券