|
|
|
|
你现在的位置:您现在的位置是: 中国ASP>>数据库>>sql server |
|
| 经典查询排序案例 |
|
1。我有一张数据表,结构如下: create Table List ( name CHAR(20), local CHAR(20), age CHAR(20) )
我想要返回的结果集格式为: 按地区排序,但是地区按枚举输出, 每个地区显示一条记录,按地区循环显示,下面只列出了3个地方作例子。 (各地区人数不定也不等,如果该地方没有人可以填充了,就跳过去不显示) 如: name local age 张三 河北 10 李四 河南 20 王五 山东 18
马六 河北 16 刘七 河南 22 赵八 山东 25 . . . . . . . . . Select Name,Local,Age, XH=(Select Count(*) from List A where A.Local=B.Local and A.Name<B.Name) from List B order by XH,Local
2。人員名稱 外出時間 外出趟次 張三 2000-01-01 10:01:01 張三 2000-01-01 13:01:01 張三 2000-01-01 12:01:01 張三 2000-01-02 09:01:01 張三 2000-01-02 15:01:01 張三 2000-01-02 16:01:01 李四 2000-01-01 10:01:01 李四 2000-01-01 11:01:01
目標要求: 人員名稱 外出時間 外出趟次 //記錄某人在某天的第幾次外出 張三 2000-01-01 10:01:01 1 張三 2000-01-01 13:01:01 3 張三 2000-01-01 12:01:01 2 張三 2000-01-02 09:01:01 1 張三 2000-01-02 15:01:01 2 張三 2000-01-02 16:01:01 3 李四 2000-01-01 10:01:01 1 李四 2000-01-01 11:01:01 2
select a.name,a.dt,(select count(name) from tablename where name=a.name and year(dt)=year(a.dt) and month(a.dt) and day(dt)=day(a.dt) and dt<=a.dt) as ncount from tablename a order by a.dt
3.ID 名称 1 B 2 A 3 C 4 B 5 A 6 B 其中ID是主键,现在希望通过SQL查询得到以下结果 ID 名称 次数 1 B 1 2 A 1 3 C 1 4 B 2 5 A 2 6 B 3 其中"次数"是指以ID为顺序,名称是第几次出现。 望高手相助,200分相赠! Select id,名称, (select count(id) from table1 where 名称=AAA.名称 and id<=AAA.id) as 次数 From table1 AAA
|
|
|