$ query = $ this-> db-> prepare(“SELECT COUNT(id)FROM table WHERE id =?&& UNIX_TIMESTAMP(timestamp)>?LIMIT 10”); $ query-> bindValue(1,$ id); $ query-> bindValue(2,$ timestamp); $查询 - >执行(); $ count = $ query-> fetchColumn(); 的var_dump($计数);
var_dump($ count)显示的数字高于limit子句。是否无法将结果限制在选择计数查询中?
答案 0 :(得分:1)
此查询:
SELECT COUNT(id)
FROM table
WHERE id = ? && UNIX_TIMESTAMP(timestamp) > ?
LIMIT 10
仅返回一行,因为它是一个没有group by
的聚合查询。 <{1}}并未真正使用。
也许你想要这个:
limit
答案 1 :(得分:1)
这实际上是您的查询的工作方式,并且是正常行为。使用LIMIT
,您不会限制count
或sum
,只会限制返回的行。因此,您的查询将返回更多行,如LIMIT
子句中所述。由于您的查询实际上只返回所有可能的行,因此应用(非零)限制对结果没有影响。
Limit
只限制一次显示的记录。Count
将返回所有可能的行