使用限制计算受影响行的最有效方法

时间:2014-06-14 10:00:40

标签: php mysql

我的表格中有一个列result,想知道在result包含特定数字(如“3”)的特定数字{1}之前的最后25行中受影响的行数}。

例如:想知道在id“500”之前的25行中有result = 3行的行数。

在Php和MySQL中实现这一目标的最有效方法是什么。

3 个答案:

答案 0 :(得分:0)

您可以使用SQL完成此操作:

SELECT COUNT(x.result)
FROM (
   SELECT    *
   FROM      table
   WHERE     id < 500
   ORDER BY  id DESC
   LIMIT 25
) x
WHERE  x.result = 3

首先,您可以通过指定搜索条件找到与查询相关的所有条目。然后,将此搜索限制为25个项目,并按相反顺序对其进行排序。这应该产生最后25个元素。最后,您只需对结果值为3的项目执行COUNT()

答案 1 :(得分:-1)

SELECT COUNT(result)
FROM   table
WHERE  id < '$specificID'
  AND  result = 3
ORDER BY id DESC
LIMIT 25

答案 2 :(得分:-2)

试试这个

SELECT count(*) FROM `your_table` 
WHERE result LIKE '%3%' 
AND id < 500
ORDER BY id ASC
LIMIT 25;