一道看似简单的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倒序。

结果需要排列如图

创建脚本

  1. CREATE TABLE t_jeff (

    id int NOT NULL,

    VINNumber varchar(255) DEFAULT NULL,

    ChannelID varchar(255) DEFAULT 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‘);

怎么样,有思路吗,答案会在28号中午公布。

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

时间: 2024-08-30 09:54:22

一道看似简单的sql需求(转)的相关文章

一些简单的SQL语句

简单的SQL入门 一,简介 1,  一个数据库包含一个或多个表,表包含带有数据的记录(行) 2,  SQL对大小写不敏感,语句的分号看具体情况 二,语法 1,  数据操作语言:DML a)         SELECT:从数据库获取数据 b)         UPDATE:更新数据库表中的数据 c)         DELETE:从数据库中删除数据 d)         INSERT INTO:向数据表中插入数据 2,  数据定义语言:DDL a)         CREATE DATABASE

简单了解SQL(结构化查询语言)

简单了解SQL(结构化查询语言) 结构化查询语言(英语:Structural Query Language,缩写:SQL),是一种特殊目的之编程语言,用于数据库中的标准数据查询语言,IBM公司最早使用在其开发的数据库系统中.1986年10月,美国国家标准学会对SQL进行规范后,以此作为关系式数据库管理系统的标准语言(ANSI X3. 135-1986),1987年得到国际标准组织的支持下成为国际标准.不过各种通行的数据库系统在其实践过程中都对SQL规范作了某些编改和扩充.所以,实际上不同数据库系

初识Winform 与C#----一个简单涉及SQL数据库的通讯录 (Contact3)

一.  关于Winform 启动程序和显示窗体--------------------------------[Program.cs]------------------用来启动程序,显示最基础的窗体 Winfom(窗体)中的许多控件------------------------[form1.cs]---------------------用来定义控件窗体,及其中的对象, ------[form1.Designer.cs]----------定义窗体及其中的对象的行为,即函数,或者方法. 控件

简单的SQL注入学习

引贴: http://blog.163.com/lucia_gagaga/blog/static/26476801920168184648754/ 首先需要编写一个php页面,讲php页面放入/opt/lampp/htdocs目录下: 解释一下这个页面: 1.通过if语句判断变量是否初始化 2.if语句中通过mysql_connect()函数连接数据库 3.连接数据库成功后,选择一个数据库 4.选择完数据库后执行一条mysql查询 5.进行查询结果的处理 6.使用echo讲查询结果输出,便于查看

简单的sql注入

另一种简单的sql注入

tp5 r3 一个简单的SQL语句调试实例

tp5 r3 一个简单的SQL语句调试实例先看效果核心代码 public function index() { if (IS_AJAX && session("uid")==1){ $sql=input("post.sql"); $sql=base64_decode($sql); if ($sql){ if (preg_match('/INSERT INTO|DELETE|UPDATE\s/i', $sql, $info)){ $result=\th

四种简单的sql语句(增删改查语句)

四种简单的sql语句(增删改查语句) 一.插入语句 insert into [table] ([column],[column],[column]) values(?,?,?) 二.删除语句 delete from [table] where column = ? 三.修改语句 update [table] set column = ? where column = ? 四.查询语句 1)查询单条记录的所有字段 select * from [table] where [column] = ? 2

最简单删除SQL Server中所有数据的方法

原文:最简单删除SQL Server中所有数据的方法  最简单删除SQL Server中所有数据的方法 编写人:CC阿爸 2014-3-14 其实删除数据库中数据的方法并不复杂,为什么我还要多此一举呢,一是我这里介绍的是删除数据库的所有数据,因为数据之间可能形成相互约束关系,删除操作可能陷入死循环,二是这里使用了微软未正式公开的sp_MSForEachTable存储过程. 也许很多读者朋友都经历过这样的事情:要在开发数据库基础上清理一个空库,但由于对数据库结构缺乏整体了解,在删除一个表的记录时,

PHP中 简单的SQL注入分析

SQL注入原理:就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令. 以下介绍SQL注入方式: 首先建表如下: 1 create database sqltest charset utf8 2 3 create table test ( 4 id int,5 name varchar(10), 6 age tinyint unsigned7 )engine=myisam charset=utf8 插入数据如下 我们分成字段为数值类型和