数据表 table id cid(分类) name(名称) ding(顶置) dingtime(顶置时间)
1 2 测试1 0 2007-11-28
2 2 测试2 1 2007-11-30
3 2 测试3 5 2007-11-24
4 2 测试4 2 2007-11-30现在需要实现 按置顶等级排序后 在按置顶时间排序
我是这样写的 SELECT * FROM table WHERE cid=2 ORDER BY diggtime DESC ,digg DESC但是结果输出是
3 2 测试3 5 2007-11-24
4 2 测试4 2 2007-11-30
2 2 测试2 1 2007-11-30
1 2 测试1 0 2007-11-28我需要的正确结果是
4 2 测试4 2 2007-11-30
2 2 测试2 1 2007-11-30
1 2 测试1 0 2007-11-28
3 2 测试3 5 2007-11-24
1 2 测试1 0 2007-11-28
2 2 测试2 1 2007-11-30
3 2 测试3 5 2007-11-24
4 2 测试4 2 2007-11-30现在需要实现 按置顶等级排序后 在按置顶时间排序
我是这样写的 SELECT * FROM table WHERE cid=2 ORDER BY diggtime DESC ,digg DESC但是结果输出是
3 2 测试3 5 2007-11-24
4 2 测试4 2 2007-11-30
2 2 测试2 1 2007-11-30
1 2 测试1 0 2007-11-28我需要的正确结果是
4 2 测试4 2 2007-11-30
2 2 测试2 1 2007-11-30
1 2 测试1 0 2007-11-28
3 2 测试3 5 2007-11-24
3 2 测试3 5 2007-11-24
4 2 测试4 2 2007-11-30
2 2 测试2 1 2007-11-30
1 2 测试1 0 2007-11-28
(SELECT * FROM table WHERE cid=2 GROUP BY dingtime)
ORDER BY ding DESC
没测试.试下看.SELECT *
(SELECT * FROM table WHERE cid=2 ORDER BY ding DESC)
GROUP BY dingtime
指定字段名的话就应该没问题了吧。(遇到过相同的问题,就是这么做的)
SELECT * FROM table WHERE cid=2 ORDER BY ding DESC ,dingtime DESC