gpt4 book ai didi

sql - 在 Access97 SQL 中,我如何返回一系列行?

转载 作者:行者123 更新时间:2023-12-01 12:00:38 25 4
gpt4 key购买 nike

我有一个 Access97 数据库(不幸的是),我正在通过 ODBC 查询它。

我想构建一个查询,它将返回从偏移量 K 开始的 J 个有序行。现在对于相关操作,我正在使用子查询和 TOP 关键字,这工作正常但我认为我做不到将它用于我要执行的这个新操作。我想这样做是因为我想为某些软件添加某种形式的分页。

理想情况下,用户界面应该能够说,给我 50 条记录,从第 150 条记录开始,按日期列排序。

如有任何帮助,我们将不胜感激。

最佳答案

您基本上是在尝试模仿 Access 中的 ROW_NUMBER()。不幸的是,Access 不是做这种事情的好引擎。大约一百条记录后,它会变慢。

话虽如此,您可以执行以下操作:

SELECT t1.ID, t1.SomeText, t1.SomeDate,
(
SELECT COUNT(*) + 1
FROM Table1 AS t2
WHERE t1.SomeText > t2.SomeText
) as RowNumber
FROM Table1 t1
ORDER BY t1.SomeText

这将产生这个结果集(在我的特定表中):

ID | SomeText             | SomeDate  | RowNumber
10 | 4NGJN | 1/20/2010 | 1
11 | ABH | 1/20/2010 | 2
2 | asldkfj | 1/20/2010 | 3
1 | asldkfjaslgh | 1/20/2010 | 4
7 | ewoiuhdkjnlbkjbn | 1/20/2010 | 5
4 | oihkjldhnlkmdfn,mn | 1/20/2010 | 6
3 | oihoih | 1/20/2010 | 7
5 | qwwern | 1/20/2010 | 8
8 | SKN | 1/20/2010 | 9
9 | WEOIN | 1/20/2010 | 10
6 | wetrhn | 1/20/2010 | 11
12 | XDNKJ | 1/20/2010 | 12

我会在 Access 中保存查询(SQL Server 中的 View ),然后在您的应用程序中编写这样的查询:

SELECT ID, SomeText, SomeDate, RowNumber
FROM myView
WHERE RowNumber > 5
AND RowNumber < 11

当然,“5”和“11”是您从客户端应用程序传入的,并且将基于您所在的特定页面。 (对于您来说可能是 50 和 100 或其他值)。

关于sql - 在 Access97 SQL 中,我如何返回一系列行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2091399/

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