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。