Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL限制不起作用:正确的语法是什么?_Sql - Fatal编程技术网

SQL限制不起作用:正确的语法是什么?

SQL限制不起作用:正确的语法是什么?,sql,Sql,我有一个简单的问题,如果这太基本,我很抱歉。我正在使用连接到远程数据库 import pyodbc import pandas as pd import numpy as np cnxn = pyodbc.connect('DSN=MYDSN') 我可以使用 sql = "SELECT * FROM MASTER.PRICES" dataframe = pd.read_sql(sql, cnxn) 但是,使用查询 sql = "SELECT * FROM MASTER.PRICES LIM

我有一个简单的问题,如果这太基本,我很抱歉。我正在使用连接到远程数据库

import pyodbc
import pandas as pd
import numpy as np

cnxn = pyodbc.connect('DSN=MYDSN')
我可以使用

sql = "SELECT * FROM MASTER.PRICES"
dataframe = pd.read_sql(sql, cnxn)
但是,使用查询

sql = "SELECT * FROM MASTER.PRICES LIMIT 10"
sql = "SELECT * FROM MASTER.PRICES where ROWNUM <= 10"
sql=“从MASTER.PRICES LIMIT 10中选择*

sql=“从MASTER.PRICES中选择*,其中ROWNUM我认为您找错地方了

是的,最好的做法是在
LIMIT
之前使用
orderby
,但在MySQL上并不严格需要。不过,这并不能解释语法错误

语法错误表明在不同的方向上出现了问题。请注意,它靠近
SELECT
,而不接近
LIMIT
,这让我怀疑您是否以您没有告诉我们的方式组合了查询


也许你复制并粘贴了一些东西,得到了一个有趣的unicode字符而不是一个空格?但是我从纯语法的角度看,你使用
LIMIT
的方式没有任何错误,我打赌如果你在mysql客户端中键入它,你就不会有语法错误。

你应该使用
order by
LIMIT。我相信你需要一个ORDER BY才能使用limit。我怎么知道我正在访问哪种数据库?你是如何连接的?你必须向驱动程序提供某种连接字符串或参数,对吗?@GurV我正在使用
cnxn=pyodbc.connect('DSN=MYDSN'))
而且驱动程序是由某人安装的。我只知道这些!如果是ODBC,您必须检查DSN。