一道看似简单的sql需求却难倒各路高手 - 你也来挑战下吗?

简介: 转自:http://www.cnblogs.com/keguangqiang/p/4535046.html   听说这题难住大批高手,你也来试下吧。ps:博问里的博友提出的。 原始数据 select * from t_jeff t  简单排序后数据 select * from t_jeff t order by t.

转自:http://www.cnblogs.com/keguangqiang/p/4535046.html

 

听说这题难住大批高手,你也来试下吧。ps:博问里的博友提出的。

原始数据

select * from t_jeff 

简单排序后数据

select from t_jeff order by t.VINNumber,t.channelid desc

需求,根据VINNumber分组(每对连接一起) ,再根据ChannelID倒序

1、VINNumber同组的放一起
2、组之间排序逻辑:按照每组ChannelID最大值 倒序
3、组内排序:按照ChannelID倒序。
结果需要排列如图

 
创建脚本
  1. CREATE TABLE t_jeff (
      id int NOT NULL,
      VINNumber varchar(255DEFAULT NULL,
     ChannelID varchar(255DEFAULT NULL,
      TimeStamp datetime DEFAULT NULL,
      PRIMARY KEY (id)
    ) ;
    INSERT INTO t_jeff VALUES ('1', 'Group3', '3', '2015-05-27 00:00:00');
    INSERT INTO t_jeff VALUES ('2', 'Group2', '5', '2015-05-23 00:00:00');
    INSERT INTO t_jeff VALUES ('3', 'Group1', '4', '2015-05-25 00:00:00');
    INSERT INTO t_jeff VALUES ('4', 'Group2', '3', '2015-05-29 00:00:00');
    INSERT INTO t_jeff VALUES ('7', 'Group1', '2', '2015-05-30 00:00:00');
怎么样,有思路吗
select max_channel_in_group,id, vinnumber, channelid, timestamp
from (
    select id, vinnumber, channelid, timestamp, max_channel_in_group = max(channelid) over(partition by vinnumber)
    from t_jeff
) t
order by max_channel_in_group desc,channelid desc
View Code

 

 
相关文章
|
SQL 数据挖掘
看似简单的一道SQL面试题,你是否能够很快写出答案?
看似简单的一道SQL面试题,你是否能够很快写出答案?
看似简单的一道SQL面试题,你是否能够很快写出答案?
|
SQL
一道看似简单的sql需求(转)
听说这题难住大批高手,你也来试下吧。ps:博问里的博友提出的。 原始数据 select * from t_jeff t  简单排序后数据 select * from t_jeff t order by t.VINNumber,t.channelid desc 需求,根据VINNumber分组(每对连接一起) ,再根据ChannelID倒序 1、VINNumber同组的放一起2、组之间排序逻辑:按照每组ChannelID最大值 倒序3、组内排序:按照ChannelID倒序。
715 0
|
4天前
|
SQL 存储 数据库连接
LabVIEW与SQL Server 2919 Express通讯
LabVIEW与SQL Server 2919 Express通讯
|
5天前
|
SQL Windows
安装SQL Server 2005时出现对性能监视器计数器注册表值执行系统配置检查失败的解决办法...
安装SQL Server 2005时出现对性能监视器计数器注册表值执行系统配置检查失败的解决办法...
13 4
|
6天前
|
SQL 数据可视化 Oracle
这篇文章教会你:从 SQL Server 移植到 DM(上)
这篇文章教会你:从 SQL Server 移植到 DM(上)
|
6天前
|
SQL 关系型数据库 数据库
SQL Server语法基础:入门到精通
SQL Server语法基础:入门到精通
SQL Server语法基础:入门到精通
|
6天前
|
SQL 存储 网络协议
SQL Server详细使用教程
SQL Server详细使用教程
30 2
|
6天前
|
SQL 存储 数据库连接
C#SQL Server数据库基本操作(增、删、改、查)
C#SQL Server数据库基本操作(增、删、改、查)
7 0
|
6天前
|
SQL 存储 小程序
数据库数据恢复—Sql Server数据库文件丢失的数据恢复案例
数据库数据恢复环境: 5块硬盘组建一组RAID5阵列,划分LUN供windows系统服务器使用。windows系统服务器内运行了Sql Server数据库,存储空间在操作系统层面划分了三个逻辑分区。 数据库故障: 数据库文件丢失,主要涉及3个数据库,数千张表。数据库文件丢失原因未知,不能确定丢失的数据库文件的存放位置。数据库文件丢失后,服务器仍处于开机状态,所幸未写入大量数据。
数据库数据恢复—Sql Server数据库文件丢失的数据恢复案例
|
7天前
|
SQL 存储 关系型数据库
SQL Server详细使用教程及常见问题解决
SQL Server详细使用教程及常见问题解决