【问题标题】:asp.net sql for "top 10 ordered in ascending order by the items within the top 10"asp.net sql 用于“前 10 名按前 10 名中的项目升序排列”
【发布时间】:2013-03-27 04:39:37
【问题描述】:

我需要使用一个使用 ASP.NET 的数据库,并获取前 10 项并在前 10 名中按升序对它们进行排序。我使用了以下组合,但没有让它们工作:

前 10 名 [行] 限制(不支持) ORDER BY [rows] ASC

【问题讨论】:

  • 为了澄清,我想取前 10 项,只订购前 10 项(第十项之后仍然不显示其他项)所以我想先取前 10 项,然后排序第二。
  • 你试过SELECT TOP(10) FROM <tableName> ORDER BY <columnName> ASC吗?您必须选择一列来对行进行排序。
  • 您希望前 10 名基于什么,表格按某种顺序排列,即使您忽略指定一个。

标签: asp.net sqlcommand


【解决方案1】:

你可以做这样的事情(这里可能不是 100%,我面前没有 SQL),但我不建议不要在内部选择上指定某种 order by,就好像底层聚集索引的变化会改变你的结果。

select *
from 
(select top 10 *
from mytable) as x
order by x.mycolumn asc

【讨论】:

  • 好奇 - 为什么是子查询?这是为了确保仅对选定的 10 行而不是表中的所有行进行排序?
  • 因为他不想要最初订购的 10 件商品,至少我从措辞不好的问题中得到的。
  • 知道了。有道理(至少对我来说)。谢谢。
  • 没关系。我使用了错误的数据库。正确的只有 10 个元素。我很抱歉。请关闭此线程。我是个白痴。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-05
  • 2012-02-06
  • 1970-01-01
  • 1970-01-01
  • 2011-09-16
  • 1970-01-01
相关资源
最近更新 更多