我正试图从名为奖金的表中检索10个最大的数字。
但我收到此错误消息:
Incorrect syntax near 'LIMIT'
我的代码:
SELECT cust_nr, period1_bonus FROM bonus ORDER BY period1_bonus DESC LIMIT 10
答案 0 :(得分:8)
请改为尝试:
SELECT TOP 10 cust_nr, period1_bonus FROM bonus ORDER BY period1_bonus DESC
LIMIT <x>
是mySQL构造,而不是MSSQL构造。 TOP
应该在这里为你效劳。
答案 1 :(得分:6)
尝试 SELECT TOP
SELECT TOP 10 cust_nr, period1_bonus
FROM bonus
ORDER BY period1_bonus DESC
答案 2 :(得分:4)
我不确定,但会
SELECT TOP 10 cust_nr, period1_bonus FROM bonus ORDER BY period1_bonus DESC
工作?
编辑:lol,我认为我是对的(现在突然看到其他答案)+1为@Martin要求rdbms:)
答案 3 :(得分:3)
您似乎正在使用SQL Server
。
在TSQL
中,语法为:
SELECT TOP 10 cust_nr, period1_bonus
FROM bonus
ORDER BY
period1_bonus DESC
答案 4 :(得分:1)
由于此问题也标有w / c#,我假设您也有兴趣在c#中执行此操作。这是SQL代码的linq-to-sql等价物。
public IEnumerable<Bonus> GetHighestValues()
{
var query = (from b in _context.bonus
take 10
orderby b.period1_bonus descending
select b);
return query;
}
编辑 - 我看到c#标签现已从问题中移除。不过,我的回答可能对你(或其他人)有帮助。