gpt4 book ai didi

sql - 如何根据 BLOB 列的长度获取表中前 10 大行

转载 作者:行者123 更新时间:2023-12-04 20:51:59 29 4
gpt4 key购买 nike

我有下表:

table name: creditCardTranactions
columns: CardNumber (varchar), Picture (PDF BLOB)
the table contains over 500 million records

我想找到一个查询,该查询将显示图片最大的前 10 名或前 20 名卡片(基于 BLOB 的长度)。

我试图在这个网站上找到这个,但没有指向这个特定场景的东西。

因此,例如数据可能如下所示:

CardNumber|PDFLength(length of blob)

9126742104827074|2000
7582719459129949|10000
7582719459129949|200000
7582719459129949|5000
7582719459129949|2000
2228624568281341|100000
1349721467976156|1000000
3259332536233670|50000
2773392693004739|25000
0689192068212049|500

所以如果我想要前 2 名,它会显示给我

1349721467976156|1000000
7582719459129949|200000

(注意我们需要去除卡号相同但长度较短的重复项)

我尝试使用 rank 或 dense_rank 函数,但没有成功,因为显示了重复项。

任何人都可以解释一下吗?

非常感谢

最佳答案

如果我没看错的话......

SELECT ROWNUM, CARDNUMBER, PDFLENGTH
FROM
(
SELECT
CARDNUMBER, MAX(PDFLENGTH) AS PDFLENGTH
FROM
creditCardTranactions
GROUP BY
CARDNUMBER
ORDER BY 2 desc
)
WHERE ROWNUM <= 2

Sql Fiddle

关于sql - 如何根据 BLOB 列的长度获取表中前 10 大行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24798050/

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