sql 分组查询

来源:百度知道 编辑:UC知道 时间:2024/07/04 14:29:27
两个字段
type number
0 123
0 456
1 123
1 456
查询条件
type 升序时 type=0时 number 降序
type=1时 number 升序

type 降序时 type=1时 number 降序
type=0时 number 升序

有种想死的感觉!!
最好是一下查出来!! 呵呵!! 我是要写的存储过程的,谢谢了!! 我想在邦定到Repeater里!!

有点意思。不过至少要写两个语句,因为type排序是升序还是降序不能用SQL 语句取得。

type升序时语句为
select *
from 表
order by type , case type when 0 then number else -number end desc
结果为
0 456
0 123
1 123
1 456

type降序时语句为
select *
from 表
order by type desc, case type when 1 then number else -number end desc
结果为
1 456
1 123
0 123
0 456

if type=0 then
orderby="type=0 order by number desc" '降序
else
orderby="type=1 order by number" '升序
end if

sql="select * from 表 where" +orderby
先判断,再存储,这样行吗?

可以用动态SQL语句做。直接是出不来的。
动态SQL语句类似你用一楼的方法,只不过你可以写成存储过程