为了获得表的上半部分,我设置了一条select语句,该语句返回一个整数作为外部select语句的限制,并出现语法错误。
我分别检查并运行了select语句,它们工作正常。
我的问题是: 1.确认限制不能是另一个选择语句? 2.如果上述情况属实,那么有哪些其他方法可以获得表格的上半部分
select lat_n from station order by lat_n
limit (select ceil(count(*)/2) from station);
结果:
第1行的错误1064(42000):您的SQL语法有错误; 检查与您的MySQL服务器版本相对应的手册 在'(从站点选择ceil(count(*)/ 2))附近使用正确的语法 第2行
答案 0 :(得分:0)
LIMIT采用一个或两个数字参数,两个参数都必须为 非负整数常数
从SELECT here的参考手册条目中输入
答案 1 :(得分:0)
作为替代:
select t.lat_n
from (
select lat_n, @rownum:=@rownum+1 rn
from station, (select @rownum:=0) r
order by lat_n
) t
where t.rn <= (select count(*) from station) / 2
使用变量@rownum
作为计数器伪列,以便仅选择表的前半行。