如果我使用COUNT
参数在mytable
的字段上生成LIMIT
,
SELECT COUNT(field1), COUNT(field2)
FROM mytable
LIMIT 10000
如果我选择他们的字段
SELECT field1, field2
FROM mytable
LIMIT 10000
在相同的10000行上有两个请求select
和count
吗?
因为我可以在第二个请求中添加ORDER BY
子句,但是对于COUNT
请求则不可能。
感谢您的帮助
答案 0 :(得分:2)
不指望它,没有ORDER BY
子句来指定所需的订单,没有保证!
用另一个选择包装第一个查询:
SELECT COUNT(field1),count(field2)
FROM(SELECT field1,field2
FROM mytable
ORDER BY Order_Column
LIMIT 10000) t
SELECT field1, field2
FROM mytable
ORDER BY Order_Column
LIMIT 10000
这些查询将处理相同的行
答案 1 :(得分:1)
除非您将order by
添加到查询中,否则您无法对返回的行的顺序进行任何说明。您可以将order by
添加到select count(...)
的嵌套查询中以解决此问题。从本质上讲,第二个查询将成为select count(...)
-- Second query
SELECT field1, field2
FROM mytable
ORDER BY ... LIMIT 10000
-- First query
SELECT COUNT(field1), COUNT(field2) FROM (
SELECT field1, field2
FROM mytable
ORDER BY ... LIMIT 10000
}