首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

SQLSERVER 的部分排序有关问题, 困扰很久, 不想用临时表解决

2012-06-14 
SQLSERVER 的部分排序问题, 困扰很久, 不想用临时表解决一个表有如下记录:NoMyNameMyTime----------------

SQLSERVER 的部分排序问题, 困扰很久, 不想用临时表解决
一个表有如下记录:

  No MyName MyTime 
-----------------------------
  1 李四 2011-06-23
  2 李四 2011-06-24
  3 王五 2011-06-24
  4 张三 2011-06-23  
  5 张三 2011-06-24 

标准排序方式为: ORDER BY MyName, MyTime, 因为李(L), 王(W), 张(Z), 所以排序是李、王、张
但是公司要求排序在此基础上还得检查相同名称的取最小时间再排序, 也就是说希望得到的结果如下:

  No MyName MyTime 
-----------------------------
  1 李四 2011-06-23
  2 李四 2011-06-24
  3 张三 2011-06-23 <--- 因为张三的最小时间比王五的最小时间小, 所以得排王五前边  
  4 张三 2011-06-24 
  5 王五 2011-06-24

我原先的语句是: SELECT * FROM MyTable ORDER BY MyName, MyTime,不符合要求

这个排序语句我该怎么写?



[解决办法]
order by myname,min(mytine)
[解决办法]

SQL code
create table tb(name varchar(4), rq datetime)goinsert into tb select '张三' ,'2011-06-22' --- 因为张三的最小时间比李四的最小时间小, 所以得排李四前边   insert into tb select   '张三', '2011-06-24'  insert into tb select   '李四' ,'2011-06-23'insert into tb select  '李四' ,'2011-06-24'insert into tb select '王五', '2011-06-24'goselect a.name, a.rq fromtb a, (select name, min(rq) as rq from tb group by name) bwhere a.name = b.nameorder by b.rq, a.name 

热点排行
Bad Request.