【问题标题】:SELECT TOP 2 * table ORDER BY country [closed]SELECT TOP 2 * table ORDER BY country [关闭]
【发布时间】:2014-10-07 14:23:59
【问题描述】:

为什么我得到超过 2 个结果,当我使用 该声明?

SELECT TOP 2 * FROM Customers ORDER BY Country DESC

你可以在这里试试: http://www.w3schools.com/sql/trysql.asp?filename=trysql_select_top&ss=-1

【问题讨论】:

  • 你应该没有得到任何结果,只是一个错误。 MySQL 不支持top
  • 在 MySQL 中使用的限制,top 在 MySQL 中根本无效.... select top in SQL Server
  • @PCPGMR 我在那个链接上只得到 2 行?
  • @PCPGMR 我也只有 2 行
  • 我已经删除了 mysql 标签。这是误导。在链接中,您必须添加“按国家/地区排序”,然后您会得到 4 个结果。

标签: sql sql-order-by


【解决方案1】:

如果您使用的是 MySQL,那么您没有使用正确的语法。您不使用 TOP... 那是用于 SQL Server(和其他“Microsoftish”方言 ;-))。你必须使用LIMIT:

SELECT * 
FROM Customers 
ORDER BY country DESC 
LIMIT 2

【讨论】:

  • 我已经删除了 mysql-tag。这是误导。我的问题是针对我在 w3schools 链接中获得的结果,当我在声明中添加“按国家/地区排序”时。正如我的问题所示。
  • ...但是是的,我已经在 mysql 中尝试过您的声明-那里没有问题。谢谢你的帮助。
  • @thebiz 对 SQL 的批评之一是每个供应商都可以实现自己的“方言”,因此移植经常是一个大难题。
  • 好的,我明白了。我刚刚使用 ww3.schools SQL 来测试一些东西。实际上,我正在使用许多猜测的 mySQL。感谢您提供有趣的信息。
猜你喜欢
  • 1970-01-01
  • 2011-09-11
  • 2017-10-24
  • 1970-01-01
  • 2011-04-06
  • 2017-05-09
  • 1970-01-01
  • 1970-01-01
  • 2013-02-21
相关资源
最近更新 更多