mysql select count('1') from emp where false group by ();
时间: 2023-12-06 10:42:44 浏览: 83
这条 SQL 语句的作用是查询 `emp` 表中满足条件 `false` 的记录数量,但是由于后面的 `group by ()` 子句表示不对结果进行分组,所以最终的结果只会返回一个值,即为 0。这里的 `count('1')` 表示计算一列非空值的个数,因为 `1` 是一个非空值,所以它可以用来统计行数。
相关问题
mysql能执行select count('1') from emp where false group by ();吗
MySQL 能执行 `select count('1') from emp where false group by ();` 这条语句,但是它的结果是一个空的结果集。这是因为 `where false` 意味着不会有任何行满足条件,因此不会有任何分组,并且 `count('1')` 返回的结果是 0。因为没有分组,所以结果集为空。
mysql支持select count(*) from emp where deptno = 20 group by ();
这个 SQL 语句是不合法的,因为 `group by` 子句需要指定一个或多个列名,用于对结果进行分组。在这个 SQL 语句中,`group by` 后面没有给出任何列名,所以会导致语法错误。如果你想要统计 `deptno` 为 20 的员工数,可以使用如下 SQL 语句:
```
SELECT COUNT(*) FROM emp WHERE deptno = 20;
```
这样会返回一个结果集,其中只有一行一列,表示符合条件的员工数。
阅读全文