使用select语句作为外部select语句的限制

时间:2019-07-23 19:21:12

标签: mysql sql

为了获得表的上半部分,我设置了一条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行

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作为计数器伪列,以便仅选择表的前半行。

相关问题