经典查询排序案例_SQL SERVER数据库_黑客防线网安服务器维护基地--Powered by WWW.RONGSEN.COM.CN

经典查询排序案例

作者:黑客防线网安SQL维护基地 来源:黑客防线网安SQL维护基地 浏览次数:0

本篇关键词:案例排序查询经典
黑客防线网安网讯:1。我有一张数据表,结构如下: create Table List ( name CHAR(20), local CHAR(20), age CHAR(20) ) 我想要返回的结果集格式为: 按地区排序,但是地区按枚举输出, 每个地区显示一条记录...

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

    黑客防线网安服务器维护方案本篇连接:http://www.rongsen.com.cn/show-10455-1.html
网站维护教程更新时间:2012-03-21 03:04:41  【打印此页】  【关闭
我要申请本站N点 | 黑客防线官网 |  
专业服务器维护及网站维护手工安全搭建环境,网站安全加固服务。黑客防线网安服务器维护基地招商进行中!QQ:29769479

footer  footer  footer  footer