MYSQL数据库查询最新10条记录结果排序的问题。

SELECT*FROM`pre_moodwall`ORDERBYiddesclimit10得到结果如下:idusername129383971116128徐磊127徐磊1... SELECT * FROM `pre_moodwall` ORDER BY id desc limit 10
得到结果如下:
id username
129 383971116
128 徐磊
127 徐磊
126 xufei
125 雪中轩
124 老杜
123 老杜
122 老杜
121 老杜
120 李水灵

这样是得到最新的10条记录了,但排序却反了,如果把DESC去掉,则选出来的就是最早的10条记录了,而不是最新的。

正确的结果应该是这样的才对,如下:
120 李水灵
121 老杜
122 老杜
123 老杜
124 老杜
125 雪中轩
126 xufei
127 徐磊
128 徐磊
129 383971116

-------------------------------------------------------------------------
补充一下:
SELECT *
FROM (SELECT * FROM `pre_moodwall` ORDER BY id DESC) t limit 10
用上面的这个语句在phpMyAdmin中可以执行,但在PHP网页中却不能执行,
错误提示如下:
[Type] 查询语句安全威胁
[Query] SELECT * FROM (SELECT * FROM `moodwall` ORDER BY id DESC) t limit 10
展开
 我来答
yongirl320
2011-03-26 · TA获得超过830个赞
知道小有建树答主
回答量:280
采纳率:100%
帮助的人:482万
展开全部
你读取 这些记录 最终是不是要用PHP显示到页面的对吗?

很多情况下, 都会出现类似问题, 你完全可以 利用PHP 数组排序来 处理这个问题

SELECT * FROM `pre_moodwall` ORDER BY id desc limit 10 读出来的结果
放进一个2维数组 ,然后 显示的时候 只要倒着显示就可以了啊。

做无线分类的 时候 排序问题 也都是用PHP解决, 这样还能减少数据库的负担吧,
匿名用户
2011-03-26
展开全部
作个子查询阿,子句查询最近10个,然后再在主句里面对子句查询的结果按照id进行排序就好了阿
追问
能否写出具体的查询语句,这样说不是很明白,对这方面了解比较少。麻烦了。
追答
对啊,对啊,就是你的补充里面的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式