mysql - 限制 Crystal Reports 从数据库中提取的记录数量

标签 mysql database performance crystal-reports limit

因此,我在 Crystal Reports 中创建了一份报告,其中一个部分从表中提取订单号,但仅显示客户的最新订单号。这个订单表非常大,我担心如果有人要运行大日期范围的报告, 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

客户:萨拉·托马斯 订单号:12346

客户:詹姆斯·琼斯 订单号:12347

列表将显示在某个日期范围内添加的所有新客户,但订单号仅显示最近的订单。可能会发生的情况是,如果我运行几个月前的日期范围(例如 3 月 5 日至 4 月 5 日)的报告,它将显示该日期范围内的所有新客户,但会提取从 3 月 5 日到现在的所有订单号,并且然后只显示最近的订单。我想做的就是限制订单号,这样只提取前 20 条左右的订单。

最佳答案

与MySQL中的“SELECT TOP 20 ...”相同,是在查询末尾添加LIMIT X,例如:

SELECT * FROM table LIMIT 20;

仅获取前 20 行。如果您想对结果进行排序(例如“ASC”),请在“ORDER BY”之后使用“LIMIT”

关于mysql - 限制 Crystal Reports 从数据库中提取的记录数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32844887/

相关文章:

MySQL 服务器突然停止工作! - CentOS

php - 在symfony中获取插入行的主键id

database - 在 VS for Mac (DotNet Core 2) 上使用迁移 CLI 更新数据库

java - 一个循环中的两个操作与两个循环执行相同的操作每个循环一个

c# - 通用扩展方法比非通用扩展方法慢

mysql - 尝试在 kubernetes 中创建两个具有相同卷的 MySQL Pod 以实现高可用性

sql - 如何在第三个查询中包含来自其他两个表的过滤行数?

php - SQLSTATE[HY093] : Invalid parameter number: number of bound variables does not match number of tokens - help needed

MySQL 使用具有新值的索引发生死锁

performance - Haskell 是否适合长时间运行的应用程序?