Mysql SQL选择带有where条件的单个随机行

Mysql SQL选择带有where条件的单个随机行,mysql,sql,random,row,Mysql,Sql,Random,Row,我试图从SQL中满足where子句的所有行中获取一个随机行。我正在使用以下SQL,但得到了相应的错误 SELECT * FROM xyz WHERE (long='0' AND lat='0') ORDER BY RAND() LIMIT 1 错误: 1064-您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以了解第1行“long='0'和lat='0'按兰德顺序限制1”附近使用的正确语法long是保留字 SELECT * FROM xyz WHERE (`long`='0' AN

我试图从SQL中满足where子句的所有行中获取一个随机行。我正在使用以下SQL,但得到了相应的错误

SELECT * FROM xyz WHERE (long='0' AND lat='0') ORDER BY RAND() LIMIT 1
错误:
1064-您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以了解第1行“long='0'和lat='0'按兰德顺序限制1”附近使用的正确语法long是保留字

SELECT * FROM xyz WHERE (`long`='0' AND lat='0') ORDER BY RAND() LIMIT 1

Long是SQL中的一个关键字。你不能这样使用它。
    SELECT *
  FROM (  SELECT *
            FROM xyz
           WHERE (`long`='0' AND lat='0')
        ORDER BY DBMS_RANDOM.VALUE) LIMIT 1