问一个SQL语句写法

MYSQL数据库,按表中一项数据从大到小排列,并只显示5个,这样的SQL语句怎么写?

在sqlserver或access中,
若要查询前5条记录,使用top 5即可,
但在mysql中不支持这个写法,它用limit 5。

可以利用MySQL中SELECT支持的一个子句——LIMIT——来完成这项功能。
LIMIT可以实现top N查询,也可以实现M至N(某一段)的记录查询,具体语法如下:
SELECT * FROM MYTABLE
ORDER BY AFIELD
LIMIT offset, recnum
其中offset为从第几条(M+1)记录开始,recnum为返回的记录条数。例:
select * from mytable
order by afield
limit 2, 5
即意为从第3条记录开始的5条记录。

综上:select * from mytable order by afield limit 5 即可实现LZ的要求
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-05-26
select top 5 列名 from 表名 where(如果有条件) order by 列名 desc
top 5 就是只显示5条记录
order by 就是排序
desc 就是按降序排列
不知道你要的是不是这个?
第2个回答  2012-05-26
select * from 表名
where 条件
order by 排序字段 desc(逆序排列就在后面加 desc,正常排序就只写 order by)
top 5
第3个回答  2012-05-26
使用limit