select count(*) from ( select * from g_player limit 200,400 ) 这样写为啥不对
您的SQL语句试图在子查询中使用`LIMIT`,然后对结果进行计数。但这样写确实有些问题。让我解释:
1. 子查询(或内部查询)必须有一个别名,即使您不打算使用这个别名。
基于这一点,您的查询应改写为:
```sql
SELECT COUNT(*)
FROM
(
SELECT *
FROM g_player
LIMIT 200,400
) AS temp;
```
其中`temp`是子查询的别名。
但这里还有另一个概念要明确:
2. `LIMIT 200,400` 的意思是跳过前200条记录,然后选取接下来的400条记录。
因此,这个查询将返回400(或者如果表中的记录数少于600条,它将返回少于400的值)。