[SQL]排序的解决方案

原创 2006年06月13日 15:42:00

现有规则:A,B,C,D

现有顺序:

A1 B1 空 空
A1 B1 空 D1
A1 B1 C1 空

期望顺序:

A1 B1 空 空
A1 B1 C1 空
A1 B1 空 D1

解答:

/*

名称:解决排序问题

作者:cosio

时间:2006-06-13

*/

declare @t table
(
A char(10),
B char(10),
C char(10),
D char(10)
)

insert into @t
select 'A1','B1','','' union all
select 'A1','B1','','D1' union all
select 'A1','B1','C1','' union all
select 'A1','B1','',''

select A,B,C,D from @t where C=''and D=''
union all
select A,B,C,D from @t where C<>''
union all
select A,B,C,D from @t where D<>''

/*

测试数据

*/
drop table times
create table times(id int,times datetime)
--插入数据
insert into times
select 1,'2006-08-20 18:00:01'
union all        
select 2,'2006-08-20 18:00:01'
union all        
select 2,'2006-08-20 18:01:01'
union all        
select 3,'2006-08-20 18:00:01'
union all        
select 3,'2006-08-20 18:01:01'
union all        
select 4,'2006-08-20 18:00:01'
union all        
select 4,'2006-08-20 18:01:01'
union all        
select 1,'2006-08-20 13:00:01'
--解答

select * from times
select distinct * from (select id ,times=(select min(times) from times where times<=a.times and datediff(minute,times,a.times)<=1)
from times a) b

SQL Server的 排序规则(collation)冲突和解决方案

什么是排序规则(collation)   关于SQL Server的排序规则,估计大家都不陌生,在创建数据库时我们经常要选择一种排序规则(conllation),一般我们会留意到每一种语言的排序规...

谈谈SQL数据库中滥用临时表、排序的解决方案优化(举例:汉字转拼音函数)

游标、临时表、触发器、COLLATE等等……无可厚非、这些都是好东西,我为什么今天要花时间来写这些东西呢?是因为我发现慢慢的很多人用久了这些东西之后会形成一种习惯,不管解决什么问题动不动都会把它们搬出...
  • ejzhang
  • ejzhang
  • 2011年01月18日 09:02
  • 814

SQL Server的 排序规则(collation)冲突和解决方案

什么是排序规则(collation) 关于SQL Server的排序规则,估计大家都不陌生,在创建数据库时我们经常要选择一种排序规则(conllation),一般我们会留意到每一种语言的...

SQL Server 2012 高可用性解决方案

  • 2015年04月14日 14:10
  • 3.58MB
  • 下载

SQL数据库写入错误 解决方案

  • 2014年08月28日 16:55
  • 311KB
  • 下载

织梦文章按权重排序解决方案

织梦默认情况下是没有开启weight排序的需要修改arclist.lib.php   1、   在织梦系统中找到以下目录\include\taglib中的arclist.lib.php文件并打开 ...

美团O2O排序解决方案——线上篇

美团的愿景是连接消费者和商家,而搜索在其中起着非常重要的作用。随着业务的发展,美团的商家和团购数正在飞速增长。这一背景下,搜索排序的重要性显得更加突出:排序的优化能帮助用户更便捷地找到满足其需求的商家...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:[SQL]排序的解决方案
举报原因:
原因补充:

(最多只允许输入30个字)