当前位置: 首页 > 面试题库 >

选择按X排序的前N条记录,但结果相反

慕祯
2023-03-14
问题内容

我正在尝试获取前N条记录(当按某些X列排序时),但结果设置却相反。以下语句是 不正确的 ,但可能说明了我的追求:

SELECT * FROM (SELECT TOP 10 * FROM FooTable ORDER BY X DESC) ORDER BY X ASC

例如,列X可以是ID或时间戳;我想要最新的10条记录,但希望它们按时间先后顺序返回。


问题答案:
SELECT * FROM 
   (SELECT TOP 10 * FROM FooTable ORDER BY X DESC) as myAlias 
ORDER BY X ASC

也就是说,您可能需要在子查询上使用别名,但除此之外,别名应该可以使用。



 类似资料:
  • 问题内容: 我有一个包含博客文章的数据库表。我想在首页上显示每个类别的一则(或更多)帖子,例如按日期排序。 所以我的posts表看起来像这样: 我将如何创建这样的查询?我曾经考虑过使用group-by或subselect,但是我不确定这是否对性能有好处…该表具有大量记录。 问题答案: MySQL 不 支持解析功能(ROW_NUMBER,RANK,DENSE_RANK,NTILE …),但是您可以使

  • 问题内容: 我试图从看起来像这样的数据库表结果中选择前2条记录 我试过这个查询 但是有些主题,例如失踪的地方,我什至尝试了以下链接的建议 如何选择每个组的前N行? 但是我为每个受检者得到两个以上 我究竟做错了什么? 问题答案: 您可以使用相关的子查询: 该查询通过串联三列来构造单列主键。如果您有真正的主键(如),则可以用代替。 SQL Fiddle中的示例。

  • 问题内容: 以下是最简单的示例,尽管任何解决方案都应能够扩展到需要n个顶级结果的地方: 给定下面的表格,其中包含“人员”,“组”和“年龄”列,您将如何 获得每个组中 年龄 最大的2个人? (组内的关系不应产生更多结果,而应按字母顺序给出前两个) 所需的结果集: 注意: 这个问题建立在先前的问题上- 获取每组分组的SQL结果的最大值的记录 -用于从每组中获取一个顶行,并且从@Bohemian那里收到

  • 问题内容: 我有一张桌子,我想在该表格的基础上从每个组中获取前N个项目。如果我设置了那将从每个组中选择第一行,或者如果我设置了那那将从每个组中选择前5行。请帮我。 问题答案: 有多种方法可以做到这一点。这是一个使用相关子查询的查询:

  • 问题内容: 我有一些简单的查询: 你们都知道结果: 但是,我想从记录3中显示什么?我知道我可以做到,但是我需要将选择的记录设置在第一位,可以说我选择的结果如下: 或者 这可能吗? 问题答案: 这样您就可以得到: 按订单此外,如果你想休息有序,太。 解释: 该表达式的计算结果为boolean。(在mysql中为= 0)在(在mysql中为= 1 )之前进行排序,因此我们对降序进行排序。 它还可以自动

  • 我试图从本地SQLite数据库中检索值。表的条目按“itemnumber ASC”排序。 当使用多个条件进行查询时,我希望所选条目按我的where条件的顺序排序。 数据库: 查询: 结果: 但它需要像这样: