sql算法求解~~~~~~~~~~~~~~~~~~~~~~~~~~~上午面试,考虑了很久都没思路

zhulong1111 2010-11-15 04:34:39
有个表 id ,num
1 22
2 33
6 76
7 99
ID为自动增长列, 值都是无规律的
1要求:根据ID排序,汇总所有奇数列与偶数列的值
2.根据id排序,连续两列的值(比如:countNum
55
175

求解~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 第二个问
...全文
360 38 打赏 收藏 转发到动态 举报
写回复
用AI写文章
38 条回复
切换为时间正序
请发表友善的回复…
发表回复
tsinghua84 2011-01-21
  • 打赏
  • 举报
回复
2.

SELECT * FROM
(
SELECT top 1 id,NUM
FROM tb
ORDER BY tb.id
) t
UNION ALL
SELECT
b.id
,a.num + b.num AS sumvalue
FROM
(
SELECT t.*
,ROW_NUMBER() OVER(ORDER BY t.id) AS rownumber
FROM tb t
) a
,
(
SELECT t.*
,(ROW_NUMBER() OVER(ORDER BY t.id) - 1) AS rownumber
FROM tb t
) b
WHERE a.rownumber = b.rownumber
tsinghua84 2011-01-21
  • 打赏
  • 举报
回复
1.

SELECT flag,SUM(num) AS sumvalue
FROM
(
SELECT t.NUM
,CASE (t.rownumber%2) WHEN 0 THEN 2 ELSE 1 END AS flag
FROM
(
SELECT t.*
,ROW_NUMBER() OVER(ORDER BY t.id) AS rownumber
FROM tb t
) t
) t
GROUP BY flag

CoolSunfeng 2010-11-16
  • 打赏
  • 举报
回复
gengchenhui 2010-11-16
  • 打赏
  • 举报
回复
没明白楼主的意思,不过要取奇数跟偶数行(应该是楼主笔误)就是楼上(35L)的了。
zzxap 2010-11-16
  • 打赏
  • 举报
回复
row_number%2=1

row_number%2=0
yypf2540017 2010-11-16
  • 打赏
  • 举报
回复
学习了。。
lester19872007 2010-11-16
  • 打赏
  • 举报
回复
[Quote=引用 24 楼 zhulong1111 的回复:]
顺便问问:想学习wpf与wcf 那个兄弟介绍本好点的入门书
[/Quote]
WCF3.5揭秘, 还有一本是 C#3.0与3.5高级编程
yzf86211861 2010-11-16
  • 打赏
  • 举报
回复
if object_id('[TB]') is not null drop table [TB]
create table [TB]([id] int,[num] int)
insert [TB]
select 1,22 union all
select 2,33 union all
select 6,76 union all
select 7,99

select
flag=case when id%2>0 then '奇数' else '偶数' end,
num=sum(num)
from tb
group by id%2

/*
flag num
---- -----------
偶数 109
奇数 121

(2 行受影响)

*/

drop table TB
hegang888888888 2010-11-15
  • 打赏
  • 举报
回复
没看到,sprc_lcl已经写出来了
hegang888888888 2010-11-15
  • 打赏
  • 举报
回复
IF OBJECT_ID('[TB]') IS NOT NULL
DROP TABLE [TB]
CREATE TABLE [TB] ( [id] INT, [num] INT )
INSERT [TB]
SELECT 1 ,
22
UNION ALL
SELECT 2 ,
33
UNION ALL
SELECT 6 ,
76
UNION ALL
SELECT 7 ,
99


WITH data
AS ( SELECT ( ROW_NUMBER() OVER ( ORDER BY id ) + 1 ) / 2 id ,
num
FROM [TB]
)
SELECT SUM(num)
FROM data
GROUP BY id
bu88dong 2010-11-15
  • 打赏
  • 举报
回复
wpf的入门教程
http://wenku.baidu.com/view/b4bf26687e21af45b307a8fd.html
wcf入门教程
http://wenku.baidu.com/view/83d1560e52ea551810a687ca.html
下载这些文档看看吧
hookyzlr 2010-11-15
  • 打赏
  • 举报
回复
面试的时候比较紧张了。脑袋就感觉不够用。
我过年也准备换工作呀。还不知道咋样呢,
希望楼主找到称心的工作呀
顺便祝福自己。呵呵
sprc_lcl 2010-11-15
  • 打赏
  • 举报
回复
select sum(id) from (select id, (row_number() over(order by id)+1)/2 as rowNum from a) as tab1 group by rowNum


一句...
zhulong1111 2010-11-15
  • 打赏
  • 举报
回复
[Quote=引用 23 楼 hookyzlr 的回复:]
俺写的是第二个题的。。
感觉应该是这个哦。。哈哈
[/Quote]确实 悲剧 这么简单个问题都没想到 郁闷了
zhulong1111 2010-11-15
  • 打赏
  • 举报
回复
顺便问问:想学习wpf与wcf 那个兄弟介绍本好点的入门书
hookyzlr 2010-11-15
  • 打赏
  • 举报
回复
俺写的是第二个题的。。
感觉应该是这个哦。。哈哈
zhulong1111 2010-11-15
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 jiangshun 的回复:]
select
flag=case when id%2>0 then '奇数' else '偶数' end,
num=sum(num)
from tb
group by id%2


[/Quote] 这哥们的group by id%2 用的好精辟
hookyzlr 2010-11-15
  • 打赏
  • 举报
回复

表结构:
ID,num
1 1
2 2
6 6
7 7
8 8
11 11
12 12

sql :
select a.num + b.num from text1 as a,text1 as b where a.ID = b.ID+1

结果:
3
13
15
23

看看是否符合要求?
jiangshun 2010-11-15
  • 打赏
  • 举报
回复
[Quote=引用 19 楼 zhulong1111 的回复:]

引用 14 楼 jiangshun 的回复:
SQL code
--> 测试数据:[TB]
if object_id('[TB]') is not null drop table [TB]
create table [TB]([id] int,[num] int)
insert [TB]
select 1,22 union all
select 2,33 union all
se……
[/Quote]

无非就是一个id/2和id%2 或者IDENTITY(int,1,1)/2和IDENTITY(int,1,1)%2
思路很简单,自己改改
zhulong1111 2010-11-15
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 jiangshun 的回复:]
SQL code
--> 测试数据:[TB]
if object_id('[TB]') is not null drop table [TB]
create table [TB]([id] int,[num] int)
insert [TB]
select 1,22 union all
select 2,33 union all
select 6,76 union all
sele……
[/Quote]哥们可能我描述的有点不清楚 奇数行和偶数行是IDENTITY(int,1,1) 不是列ID 不过看你的代码 就有思路了 谢谢哦
加载更多回复(16)
软件设计师考试真题 附带2010年的考试大纲 考试科目1:计算机与软件工程知识  1.计算机科学基础   1.1 数制及其转换      • 二进制、十进制和十六进制等常用制数制及其相互转换   1.2 数据的表示      • 数的表示(原码、反码、补码、移码表示,整数和实数的机内表示,精度和溢出)      • 非数值表示(字符和汉字表示、声音表示、图像表示)      • 校验方法和校验码(奇偶校验码、海明校验码、循环冗余校验码)   1.3 算术运算和逻辑运算      • 逻辑代数的基本运算和逻辑表达式的化简   1.4 数学基础知识      • 命题逻辑、谓词逻辑、形式逻辑的基础知识      • 常用数值计算(误差、矩阵和行列式、近似求解方程、插值、数值积分)      • 排列组合、概率论应用、应用统计(数据的统计分析)      • 运算基本方法(预测与决策、线性规划、网络图、模拟)   1.5 常用数据结构      • 数组(静态数组、动态数组)、线性表、链表(单向链表、双向链表、循环链表)、队列、栈、树(二叉树、查找树、平衡树、线索树、线索树、堆)、图等的定义、存储和操作      • Hash(存储地址计算,冲突处理)   1.6 常用算法      • 排序算法、查找算法、数值计算方法、字符串处理方法、数据压缩算法、递归算法、图的相关算法      • 算法与数据结构的关系、算法效率、算法设计、算法描述(流程图、伪代码、决策表)、算法的复杂性  2.计算机系统知识   2.1 硬件知识    2.1.1 计算机系统的组成、体系结构分类及特性      • CPU和存储器的组成、性能和基本工作原理      • 常用I/O设备、通信设备的性能,以及基本工作原理      • I/O接口的功能、类型和特性      • I/O控制方式(中断系统、DMA、I/O处理机方式)      • CISC/RISC,流水线操作,多处理机,并行处理   2.1.2 存储系统      • 主存-Cache存储系统的工作原理      • 虚拟存储器基本工作原理,多级存储体系的性能价格      • RAID类型和特性   2.1.3 安全性、可靠性与系统性能评测基础知识      • 诊断与容错      • 系统可靠性分析评价      • 计算机系统性能评测方式   2.2 软件知识    2.2.1 操作系统知识      • 操作系统的内核(中断控制)、进程、线程概念      • 处理机管理(状态转换、共享与互斥、分时轮转、抢占、死锁)      • 存储管理(主存保护、动态连接分配、分段、分页、虚存)      • 设备管理(I/O控制、假脱机)      • 文件管理(文件目录、文件组织、存取方法、存取控制、恢复处理)      • 作业管理(作业调度、作业控制语言(JCL)、多道程序设计)      • 汉字处理,多媒体处理,人机界面      • 网络操作系统和嵌入式操作系统基础知识      • 操作系统的配置    2.2.2 程序设计语言和语言处理程序的知识      • 汇编、编译、解释系统的基础知识和基本工作原理      • 程序设计语言的基本成分:数据、运算、控制和传输,过程(函数)调用      • 各类程序设计语言主要特点和适用情况   2.3 计算机网络知识      • 网络体系结构(网络拓扑、OSI/RM、基本的网络协议)      • 传输介质、传输技术、传输方法、传输控制      • 常用网络设备和各类通信设备      • Client/Server结构、Browser/Server结构      • LAN拓扑,存取控制,LAN的组网,LAN间连接,LAN-WAN连接      • 因特网基础知识以及应用      • 网络软件      • 网络管理      • 网络性能分析   2.4 数据库知识      • 数据库管理系统的功能和特征      • 数据库模型(概念模式、外模式、内模式)      • 数据模型,ER图,第一范式、第二范式、第三范式      • 数据操作(集合运算和关系运算)      • 数据库语言(SQL)      • 数据库的控制功能(并发控制、恢复、安全性、完整性)      • 数据仓库和分布式数据库基础知识   2.5 多媒体知识      • 多媒体系统基础知识,多媒体设备的性能特性,常用多媒体文件格式      • 简单图形的绘制,图像文件的处理方法      • 音频和视频信息的应用      • 多媒体应用开发过程   2.6 系统性能知识      • 性能指标(响应时间、吞吐量、周转时间)和性能设计     

62,073

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧