因此,我有一个在Crystal Reports中创建的报告,在一个部分中,它从表中提取订单号,但仅显示客户的最新订单号。此订单表非常大,我担心是否有人要在较大的日期范围内运行报表,而当Crystal不需要时,Crystal将从数据库中提取大量数据。
有没有一种方法可以限制Crystal为订单号提取的记录数量? select top 20 * SQL语句的工作方式。
好吧,这里有更多关于我如何安排一切的信息。
我有一个这样的订单表:
<table border>
<tr><td colspan=3>Table Name = Orders</td></tr>
<tr><td>Date</td><td>Order Number</td><td>Customer Number</td></tr>
<tr><td>2015-09-01</td><td>12345</td><td>1</td></tr>
<tr><td>2015-09-01</td><td>12346</td><td>2</td></tr>
<tr><td>2015-09-01</td><td>12347</td><td>3</td></tr>
<tr><td>2015-09-02</td><td>12348</td><td>1</td></tr>
</table>
我有一个这样的客户表:
<table border>
<tr><td colspan=3>Table Name = Customers</td></tr>
<tr><td>Customer Number</td><td>First Name</td><td>Last Name</td></tr>
<tr><td>1</td><td>John</td><td>Doe</td></tr>
<tr><td>2</td><td>Sara</td><td>Thomas</td></tr>
<tr><td>3</td><td>James</td><td>Jones</td></tr>
</table>
这两个表已链接,它们将被添加到我的报告中以显示如下内容:
日期范围:9月1日-9月5日
客户:John Doe
订单号:12348
客户:Sara Thomas
订单号:12346
客户:James Jones
订单号:12347
该列表将显示在日期范围内添加的所有新客户,但订单号仅显示最近的订单。如果我运行报表的日期范围是几个月前(例如3月5日至4月5日),可能会发生什么,它将显示该日期范围内的所有新客户,但会拉出3月5日至今的所有订单号,然后仅显示最近的订单。我要做的就是限制订单号,以便只拉出前20个左右的订单。
最佳答案
在查询末尾,LIMIT X与MySQL中的“ SELECT TOP 20 ...”相同,例如:
SELECT * FROM table LIMIT 20;
仅获得前20行。如果要订购(例如“ ASC”),则结果应在“ ORDER BY”之后使用“ LIMIT”
关于mysql - 限制Crystal Reports从数据库中提取的记录数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32844887/