列:numberIWant,值

我想获得最大价值的numberIWant条记录。

select max(value) from myTable


仅返回最大值。

我想找到具有此“最大”值的numberIWant。怎么做?

最佳答案

使用GROUP_CONCAT如下:

SELECT
  MAX(value),
  SUBSTRING_INDEX(
    GROUP_CONCAT(numberIWant ORDER BY value DESC),
    ',', 1
  )
FROM
  my_table


许多此类查询实际上不需要自我联接,并且可以通过单个SELECT来满足。

10-08 18:14