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

SELECT列中第二高的行

伯和蔼
2023-03-14
问题内容

假设我有一个类似于以下表格:

Item         Description            Time
-----        -----------            -----
ItemA1       descript               08-16-2013 00:00:00
ItemA2       descript               08-16-2013 00:00:00
ItemA3       descript               08-16-2013 00:00:00
.
.
ItemAN       descript               08-16-2013 00:00:00

ItemB1       descript               08-13-2013 00:00:00
ItemB2       descript               08-13-2013 00:00:00
ItemB3       descript               08-13-2013 00:00:00
.
.
ItemBN       descript               08-13-2013 00:00:00
.
.
.
ItemX1       descript               01-13-2012 00:00:00
ItemX2       descript               01-13-2012 00:00:00
ItemX3       descript               01-13-2012 00:00:00
.
.
ItemXN       descript               01-13-2012 00:00:00

项目组会定期添加。当添加一组项目时,它们都添加有相同的“时间”字段。本质上,“时间”充当该项目组的唯一索引。

我想选择时间第二高的项目组。在此示例中,我的查询应拉出“ B”项。我知道我可以做max(time)来选择“ A”项目,但是我不知道我该怎么做倒数第二。

如果这意味着任何内容,我的“时间”列将存储为TIMESTAMP。


问题答案:

您可以尝试类似:

SELECT MAX(Time)
FROM yourTable
WHERE Time < (SELECT MAX(Time) FROM yourTable)

SQLFiddle Demo



 类似资料:
  • 问题内容: 举例来说: 将产生sql: 哪个是正确的。但是,在加载模型时,该属性将被忽略,因为它不是的属性。 它与渴望加载和相似,但是我不希望所有列,仅指定的列是不好的。 必须有一种简单的方法来从其他模型获取列吗?与简单数组/哈希相比,我最好让这些项作为的实例返回 问题答案: 当您使用或进行时,将返回。它仅由您用来调用的类的对象组成。从联接模型中选择的列将添加到返回的对象中。由于这些属性不是的属性

  • 问题内容: 我试图加快PHP脚本的速度,目前正在Mysql域中推送一些PHP逻辑。如果第一个Select不返回行或计数为零,是否可以进行其他选择查询? 请记住,第一个查询需要首先运行,并且 仅 当第一个查询返回空集 时才 应激活第二个查询。 对于上面的2个查询,我有这段代码,但似乎每个查询运行两次(一次计数,一次返回)。有一个更好的方法吗? 问题答案: 一种选择是使用有: SQL小提琴演示 这将从

  • 我正在尝试加速一个PHP脚本,目前我正在推动一些PHP逻辑在Mysql领域的东西。如果第一个select没有返回行或计数为零,是否有方法进行不同的select查询? 请记住,需要首先运行第一个查询,只有在第一个查询返回一个空集时才应激活第二个查询。 对于上面的2个查询,我有这段代码,但它似乎要运行每个查询两次(一次用于计数,一次用于返回)。有没有更好的办法做到这一点?

  • 问题内容: 我有: 现在,如果我已经有了h2标签,最简单的方法就是将Peter带到这里?现在我尝试了: 但是在这里我得到nth-child NotImplementedError: 所以我不确定这是怎么回事。第二种选择是只获取所有’p’标签子代并进行硬选择[1],但是存在索引超出范围的危险,这将需要用try /包围所有尝试让 Peter 尝试,除非这有点愚蠢。 有什么方法可以用汤.select()

  • 问题内容: 我很难理解在数组中找到第二大数字的方法背后的逻辑。所使用的方法是在数组中找到最高的,但小于先前最高的(已经找到)。我仍然不明白的是为什么有必要。例如,我输入了三个数字:98、56、3。没有它,最高和第二高将都是98。请解释。 问题答案: 找到第二高实际上很简单: 这是O(N)一口气。如果你想接受联系,则更改为,但是如果数组中至少有2个元素,它将返回。如果数组仅包含相同的数字,它也将返回

  • 问题内容: 呈现HTML SELECT时,IE似乎忽略了CSS中设置的高度。是否有任何解决方法,还是我们必须接受IE不会像其他浏览器那样好? 问题答案: 除了放弃元素之外,没有其他解决方法。