请教SQL语句,查询每个指定编号的列的总和

greenfang2018 2015-07-20 04:09:19
sid(编号) TT RR InsertTime(插入时间)
T101 11 20 2015/5/22 15:00
T101 12 30 2015/5/22 14:30
T101 13 40 2015/5/22 13:00
T101 13 20 2015/5/21 13:00

T102 25 30 2015/5/22 16:00
T102 18 20 2015/5/22 15:30
T102 52 10 2015/5/22 14:30
T102 13 20 2015/5/21 13:00

T103 17 40 2015/5/22 12:00
T103 18 10 2015/5/22 11:30
T103 20 20 2015/5/22 10:30
T103 13 20 2015/5/21 13:00

T104 21 10 2015/5/22 15:00
T104 22 20 2015/5/22 14:30
T104 23 30 2015/5/22 13:20
T104 13 20 2015/5/21 13:00

T105 25 10 2015/5/22 18:00
T105 26 20 2015/5/22 12:30
T105 27 30 2015/5/22 11:20
T105 13 20 2015/5/21 13:00

T106 32 31 2015/5/22 17:00
T106 33 26 2015/5/22 15:30
T106 34 37 2015/5/22 14:20
T106 13 20 2015/5/21 13:00

表名:tdata

我想得到以下结果(也就是得到编号T101 ,T102 , T103,T104的RR的2015/5/22日的商品数量总和记录,不要5月21日的记录):
sid RR
T101 90
T102 60
T103 70
T104 60


也就是得到指定编号T101 ,T102 , T103, T104 的RR的2015/5/22日商品数量总和,不要T105,T106的记录,请教SQL语句如何写,感谢各位!!!!!!!!!!
...全文
224 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
许晨旭 2015-07-20
  • 打赏
  • 举报
回复
declare @tdata table
(
sid varchar(5),
TT INT,
RR INT,
InsertTime DATETIME
)

INSERT INTO @tdata
SELECT 'T101',11,20,'2015/5/22 15:00' UNION ALL 
SELECT 'T101',12,30,'2015/5/22 14:30' UNION ALL 
SELECT 'T101',13,40,'2015/5/22 13:00' UNION ALL 
SELECT 'T101',13,20,'2015/5/21 13:00' UNION ALL 
SELECT 'T102',25,30,'2015/5/22 16:00' UNION ALL 
SELECT 'T102',18,20,'2015/5/22 15:30' UNION ALL 
SELECT 'T102',52,10,'2015/5/22 14:30' UNION ALL 
SELECT 'T102',13,20,'2015/5/21 13:00' UNION ALL 
SELECT 'T103',17,40,'2015/5/22 12:00' UNION ALL 
SELECT 'T103',18,10,'2015/5/22 11:30' UNION ALL 
SELECT 'T103',20,20,'2015/5/22 10:30' UNION ALL 
SELECT 'T103',13,20,'2015/5/21 13:00' UNION ALL 
SELECT 'T104',21,10,'2015/5/22 15:00' UNION ALL 
SELECT 'T104',22,20,'2015/5/22 14:30' UNION ALL 
SELECT 'T104',23,30,'2015/5/22 13:20' UNION ALL 
SELECT 'T104',13,20,'2015/5/21 13:00' UNION ALL 
SELECT 'T105',25,10,'2015/5/22 18:00' UNION ALL 
SELECT 'T105',26,20,'2015/5/22 12:30' UNION ALL 
SELECT 'T105',27,30,'2015/5/22 11:20' UNION ALL 
SELECT 'T105',13,20,'2015/5/21 13:00' UNION ALL 
SELECT 'T106',32,31,'2015/5/22 17:00' UNION ALL 
SELECT 'T106',33,26,'2015/5/22 15:30' UNION ALL 
SELECT 'T106',34,37,'2015/5/22 14:20' UNION ALL 
SELECT 'T106',13,20,'2015/5/21 13:00'

SELECT 
	sid,
	sum(RR) AS RR
FROM @tdata
WHERE sid NOT IN ('T105','T106') AND CONVERT(varchar(100), InsertTime, 111)<>'2015/05/21'
GROUP BY sid
sid   RR
----- -----------
T101  90
T102  60
T103  70
T104  60

(4 行受影响)
greenfang2018 2015-07-20
  • 打赏
  • 举报
回复
谢谢,感谢,可以啦
Pact_Alice 2015-07-20
  • 打赏
  • 举报
回复
;WITH cet AS ( select 'T101' AS sid,11 AS TT ,20 AS RR ,' 2015/5/22 15:00'AS InsertTime UNION ALL SELECT 'T101',12,30,'2015/5/22 14:30' UNION ALL select 'T101',13 ,40,'2015/5/22 13:00'UNION ALL select 'T101',13,20,'2015/5/21 13:00' UNION ALL select 'T102',25 ,30,'2015/5/22 16:00'UNION ALL select 'T102',18 ,20,'2015/5/22 15:30'UNION ALL select 'T102',52,10,'2015/5/22 14:30'UNION ALL select 'T102',13,20,'2015/5/21 13:00'UNION ALL select 'T103', 17 , 40 ,'2015/5/22 12:00'UNION ALL select 'T103', 18 , 10 ,'2015/5/22 11:30'UNION ALL select 'T103', 20 ,20,'2015/5/22 10:30'UNION ALL select 'T103', 13,20 ,'2015/5/21 13:00'UNION ALL select 'T104',21, 10,'2015/5/22 15:00'UNION ALL select 'T104',22, 20, '2015/5/22 14:30'UNION ALL select 'T104',23,30 , '2015/5/22 13:20'UNION ALL select 'T104',13,20 , '2015/5/21 13:00'UNION ALL select 'T105',25 , 10 ,'2015/5/22 18:00'UNION ALL select 'T105', 26 , 20 , '2015/5/22 12:30'UNION ALL select 'T105', 27, 30, '2015/5/22 11:20'UNION ALL select 'T105', 13, 20, '2015/5/21 13:00'UNION ALL select 'T106',32 , 31, '2015/5/22 17:00'UNION ALL select 'T106',33, 26, '2015/5/22 15:30'UNION ALL select 'T106', 34, 37, '2015/5/22 14:20'UNION ALL select 'T106',13, 20, '2015/5/21 13:00' ) SELECT SID,SUM(RR) as SumRR FROM cet WHERE [sid] IN ('T101','T102','T103','T104') AND InsertTime!='2015/5/21 13:00' GROUP BY SID
Tiger_Zhao 2015-07-20
  • 打赏
  • 举报
回复
更正:AND [SID] <= 'T104'
Tiger_Zhao 2015-07-20
  • 打赏
  • 举报
回复
    SELECT [SID], SUM(RR) RR
FROM tdata
WHERE InsertTime >= '2015-05-22'
AND InsertTime < '2015-05-23'
AND [SID] IN ('T101','T102','T103','T104')
GROUP BY [SID]

如果编号格式固定,最后一个条件换成 AND [SID] < 'T104' 性能好一点
内容概要:本文档详细介绍了“南方数码房地一体内外业软件”的操作流程,涵盖从数据准备、外业调查、内外业数据对接,到内业数据处理与成果输出的完整工作链。主要包括调查底图制作(支持DWG、MDB、SHP及倾斜三维模型等多种数据源)、导出外业IDB工程文件、平板端外业调查(宗地与房屋核实、电子签章表确认、照片导出)、内外业数据对接(DB与照片数据导入),以及内业的宗地信息完善、界址属性设置、自然幢生成、房屋面积计算、户属性录入,并最终输出宗地图、房产分户图、各类报表及MDB数据库等成果。; 适合人群:从事农村房地一体权籍调查的测绘、不动产登记及相关地理信息行业的内业处理人员、外业调查员和技术管理人员,需具备基础GIS或CAD操作能力; 使用场景及目标:①指导用户系统完成从原始数据到不动产登记成果的全流程作业;②实现外业调查数据高效采集与内业自动化处理衔接,提升房地一体确权登记工作的标准化与效率; 阅读建议:建议结合实际项目按章节顺序操作,重点关注数据格式转换、IDB工程交互逻辑及成果图输出设置,配合软件界面逐步实践,确保各环节数据完整性与准确性。
内容概要:本文围绕“面向高精度电流控制的PMSM多参数PSO辨识模型研究”,结合Simulink仿真实现,系统探讨了在高性能电机控制背景下,如何利用粒子群优化算法(PSO)对永磁同步电机(PMSM)电流环的关键参数进行多参数协同辨识。研究通过建立PMSM的精确动态数学模型,设计基于PSO的参数辨识框架,实现了对电机电感、电阻、反电动势常数等核心参数的高效在线或离线辨识,有效提升了电流控制的精度与系统鲁棒性。文中详细阐述了PSO算法的实现机制,包括适应度函数构造、参数编码策略与收敛判据,并在Simulink中构建了完整的联合仿真平台,通过大量仿真实验验证了该方法相较于传统辨识技术在准确性、稳定性和适应性方面的显著优势,为高动态性能电机驱动系统的参数获取提供了可靠的技术路径。; 适合人群:自动化、电气工程、控制科学与工程等相关专业的研究生、科研人员及从事高性能电机驱动系统开发的工程师。; 使用场景及目标:①应用于高端制造、新能源汽车、航空航天等领域中对电流控制精度要求极高的PMSM控制系统开发;②作为智能优化算法(如PSO)在电机参数辨识领域应用的典型案例,服务于教学演示与学术研究;③为后续开展自适应控制、智能容错控制及多物理场耦合建模等前沿课题提供坚实的参数辨识基础和技术参考。; 阅读建议:读者应具备扎实的电机控制理论基础(如FOC矢量控制、现代控制理论)以及熟练的MATLAB/Simulink仿真能力,建议在学习过程中结合文中的仿真模型,动手复现PSO参数辨识的完整流程,深入分析算法参数设置对辨识结果的影响,从而全面掌握其工程应用精髓。
内容概要:本文提出了一种基于粒子群优化算法(PSO)的配电网光伏储能双层优化配置模型,以IEEE33节点系统为标准算例,实现光伏发电单元与储能系统的协同选址与定容优化。该模型采用双层架构设计,上层以投资成本、运行经济性及网络损耗最小为目标优化设备配置方案,下层通过潮流计算评估系统在不同负荷场景下的运行性能,综合考虑电压稳定性、供电可靠性及可再生能源消纳能力,最终通过Matlab编程实现完整求解流程,为高渗透率分布式电源接入背景下的配电网规划提供了有效的技术支撑。; 适合人群:具备电力系统分析基础和Matlab编程能力的研究生、高校科研人员及从事新能源并网、智能配电网规划与优化的工程技术人员。; 使用场景及目标:①研究含高比例光伏接入的配电网规划与运行协同优化问题;②掌握双层优化建模方法与粒子群算法在复杂电力系统问题中的应用技巧;③为实际工程中分布式光伏与储能系统的科学选址与容量配置提供理论依据与仿真验证平台。; 阅读建议:建议读者结合Matlab代码深入理解双层迭代求解机制,重点关注算法收敛性分析、参数敏感性测试,并可通过更换初始种群、调整权重因子或引入其他标准测试系统(如IEEE69节点)进行对比实验,进一步验证所提模型的普适性与鲁棒性。

34,875

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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