首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >火鸟中FOUND_ROWS()的相同功能是什么?

火鸟中FOUND_ROWS()的相同功能是什么?
EN

Stack Overflow用户
提问于 2010-11-20 13:00:34
回答 3查看 506关注 0票数 0

亲爱的所有人……我对MySQL很熟悉,但对火鸟并不熟悉。

我想更改我的php页面,从MySQL到Firebird query.But我在更改命令FOUND_ROWS()时遇到了一些困难。有没有人知道火鸟中FOUND_ROWS()的相同功能是什么?

我已经浏览了所有的网站,但我没有答案。我被这个case.please帮助卡住了。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-11-21 03:13:21

类似@Andrei K. answer。

对您问题的回答:在Firebird FOUND_ROWS() MySQL函数/语句中没有对应的

解决方法:如果您非常想知道行数,请让引擎运行一个新的查询,以计算第一个查询的特殊版本的行数。对于简单查询,@Andrei K. answer是准确的,但对于一般情况,包括带有group by和having子句的查询,使用如下查询:

代码语言:javascript
复制
select count(*)
  from (your original query here) q1;

如果存在于原始查询中,则必须排除first/skip和order by子句。因此,对于如下所示的查询:

代码语言:javascript
复制
select first 10 skip 20 pd.productcode, extract(year from ph.purchasedate) year, sum(pd.quantity) year_quantity
  from purchase_details pd
       inner join purchase_header ph
          on ph.id = pd.purchase_id
 where ph.cancelled = 0
   and ph.salesman = 10
 group by pd.productcode, extract(year from ph.purchasedate)
having sum(pd.quantity) > 1000
 order by sum(pd.quantity) desc;

相当于found_rows的查询将是:

代码语言:javascript
复制
select count(*) 
  from (
        select pd.productcode, extract(year from ph.purchasedate) year, sum(pd.quantity) year_quantity
          from purchase_details pd
               inner join purchase_header ph
                  on ph.id = pd.purchase_id
         where ph.cancelled = 0
           and ph.salesman = 10
         group by pd.productcode, extract(year from ph.purchasedate)
        having sum(pd.quantity) > 1000
       ) q1

根据我的经验,这适用于99.9%的查询。

警告这种方法效率非常低,使用风险自负。

票数 1
EN

Stack Overflow用户

发布于 2010-11-20 18:59:00

在Firebird中,如果不运行查询并获取所有数据,或者像这样运行查询,就无法知道有多少行将返回查询:

代码语言:javascript
复制
SELECT COUNT(*) FROM <your tables and conditions go here>
票数 0
EN

Stack Overflow用户

发布于 2010-11-20 13:34:01

如果您使用此FOUND_ROWS()显示X行中的Y行之类的内容,请查看新版本的页面是否可以没有该信息。使用Firebird时,阅读文档的方法似乎是,首先在没有LIMIT的情况下运行查询,然后使用LIMIT运行查询。LIMIT是MySQL,不知道它在火鸟里叫什么。然后是您应该从MySQL转换到Firebird的SQL_CALC_ROWS

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4231313

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档