SQL 子查询和排序问题
我在做 asp.net 项目时
根据在子类表(class_db)
想在前台显示 文章列表示前9个,之后还要 art_time (文章时间来显示) 降序排列
我的Sql语句如下
string mysql= "select top 9 art_id,art_title from art_db where art_c_id=(select class_id from class_db where class_name= '游戏天地 ') ORDER BY art_time DESC ";
在前台是用 DataList 帮定的,如果不排序,是显示9个数据
但是加上 ORDER BY art_time DESC 的话 她全部显示出来了,也有排序效果
------解决方案--------------------试试
SELECT top 2 * from (select * from tablea a order by id desc)
不过也是2条
SELECT top 2 * from tablea a order by id desc
------解决方案--------------------Access确实存在这个Bug,不过,你可以变通处理一下,如果表中存在唯一字段ID,可以这样:
string mysql= "
select top 9 art_id,art_title
from art_db
where art_c_id=(select class_id from class_db where class_name= '游戏天地 ')
ORDER BY art_time DESC, ID "; --注意:这里除了原来的降序排序外,还增加了排序列ID