gpt4 book ai didi

sql - 如何在不使用 ROW_NUMBER() 的情况下模仿 ROW_NUMBER() 功能?

转载 作者:行者123 更新时间:2023-12-03 17:47:49 28 4
gpt4 key购买 nike

我在练习中遇到了这个问题,我无法修复它,这让我发疯了......基本上我使用的是 SQLLite,所以我只能使用任何窗口函数来获得结果并且更痛苦的部分是已经创建的架构上没有唯一的 id。参见示例:

**Name,  DateAdded,  Amount**
John, 2015-10-12, 100.00
John, 2015-10-15, 50.00
Aaron, 2015-09-20, 10.00
Paul, 2014-12-20, 24.00
Paul, 2015-12-23, 32.00

当您没有任何唯一 ID 时,除了在 SQL Lite 中使用 ROW_NUMBER() 之外,还有什么替代方法?我想按名称分区并按数量排序。

提前致谢。

最佳答案

这很丑陋,但没有窗口函数,这是我所知道的模仿 row_number 函数的唯一方法:

select
t.Name, t.DateAdded, t.Amount,
( select count (*)
from MyTable u
where
t.Name = u.Name and
t.DateAdded >= u.DateAdded
) as row_number
from MyTable t

结果:

John    2015-10-12  100 1
John 2015-10-15 50 2
Aaron 2015-09-20 10 1
Paul 2014-12-20 24 1
Paul 2014-12-23 32 2

关于sql - 如何在不使用 ROW_NUMBER() 的情况下模仿 ROW_NUMBER() 功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35130545/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com