因此,我有一个在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/

10-11 22:27
查看更多