查找列中的3个最小数字

时间:2015-02-06 16:16:14

标签: mysql

我有一张这样的表:

| songtitle  | songlength  | 
|------------|-------------|
| 1          |      3:42   |
| 2          |      1:32   |
| 3          |      2:44   |
| 4          |      5:00   |
| 5          |      1:19   |
| 6          |      2:54   |

我想获得3首最短的歌曲(排序最短到最长)。

我想我需要像LIMIT这样的东西,但我并不积极。感谢

2 个答案:

答案 0 :(得分:3)

对数据进行排序并限制要检索的行数:

select *
from your_table
order by songlength
limit 3;

如果您想获得3 最长的歌曲,只需按降序排列数据:

select *
from your_table
order by songlength desc
limit 3;

解决Dwza的评论,引自MySQL Reference Manual

  

可以使用列名,列别名或列位置在ORDER BYGROUP BY子句中引用为输出选择的列。 [...]要按相反顺序排序,请将DESC(降序)关键字添加到要排序的ORDER BY子句中的列名称。 默认为升序;这可以使用ASC关键字明确指定。

答案 1 :(得分:0)

使用" SORT"函数在MySQL中本地排序。