从员工限制中选择*(从员工中选择count(*)/2); 为什么在选择关键字之前的曲线括号处会出现这个明显的语法错误
我正在尝试选择给定表的前 50% 查询,因此我只是尝试从子查询中返回一半行数,然后将其作为限制值传递
https://dev.mysql.com/doc/refman/8.0/en/select.html有关于MySQL的
SELECT
语句的详细文档,包括其所有子句。
它说:
子句可用于约束LIMIT
语句返回的行数。SELECT
接受一个或两个数字参数,它们必须都是非负整数常量,但以下例外:LIMIT
在准备好的语句中,可以使用
占位符标记指定LIMIT
参数。?
在存储的程序中,可以使用整数值例程参数或局部变量来指定
参数。LIMIT
表达式(包括子查询)不是
LIMIT
子句中的合法参数。
一个简单的解决方案是在两个查询中完成任务:第一个查询获取
COUNT()
,然后在包含 LIMIT
的第二个查询中使用该值作为常量值。
并非每个任务都需要在单个 SQL 语句中完成。