我有一张这样的表:
| songtitle | songlength |
|------------|-------------|
| 1 | 3:42 |
| 2 | 1:32 |
| 3 | 2:44 |
| 4 | 5:00 |
| 5 | 1:19 |
| 6 | 2:54 |
我想获得3首最短的歌曲(排序最短到最长)。
我想我需要像LIMIT
这样的东西,但我并不积极。感谢
答案 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 BY
和GROUP BY
子句中引用为输出选择的列。 [...]要按相反顺序排序,请将DESC
(降序)关键字添加到要排序的ORDER BY
子句中的列名称。 默认为升序;这可以使用ASC
关键字明确指定。
答案 1 :(得分:0)
使用" SORT"函数在MySQL中本地排序。