一个较麻烦的SQL语句怎么写???

来源:百度知道 编辑:UC知道 时间:2024/05/21 22:37:43
在class表中
1,返回字段c_name,c_stu
2,返回记录数前五条
3查询条件:c_stu大于30,并且c_type为真,并且c_name字段值中有 “二班”两个字
4,查询结果按c_stu正序排列,按c_type倒序排列
正排是不要省略关键字!

select top 5 c_name,c_stu from class where c_stu>30 and c_type=true and c_name like '二班' order by c_stu asc,c_type desc
这个不正确,该怎么修改或写呀!
谢谢!

top 5 不能直接写, 因为他不是从已经排序好的数据集中取前5个,
而是取前5个, 然后按你给的排序排,
因此要用另一个select 包起来,
select top 5 * from (
select c_name,c_stu from class where c_stu>30 and c_type=true and c_name like '%二班%' order by c_stu asc,c_type desc )

select top 5 c_name,c_stu from class
where c_stu>30 and c_type='ture'
and c_name like '%二班%' order by c_stu asc,c_type desc

数据库不同,可能有些出入的地方,如果还有什么不正确,最好把报错信息发上来。

select top 5 from
(select c_name,c_stu from class where c_stu>30 and c_type=true and c_name like '%二班%' order by c_stu asc,c_type desc );