求一个SQL语句

zjlsct 2010-01-17 06:48:53
表中有若干行值,要求对这些值进行求和,求和之前要判断,如果该值小于1.5,则取该值进行累加,若大于1.5,则取1.5进行累加。
...全文
106 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
zjlsct 2010-01-17
  • 打赏
  • 举报
回复
5楼的同学,真对不住啊,刚才结贴快了点,刷新时还没看到你的回复,把分都给了4楼的。抱歉
zjlsct 2010-01-17
  • 打赏
  • 举报
回复
多谢楼上的同学,刚才自己用if else没成功,没想到用case when,嘿嘿
SQL77 2010-01-17
  • 打赏
  • 举报
回复
----------------------------------------------------------------
-- Author :SQL77(只为思齐老)
-- Date :2010-01-17 19:08:27
-- Version:
-- Microsoft SQL Server 2000 - 8.00.194 (Intel X86)
-- Aug 6 2000 00:57:48
-- Copyright (c) 1988-2000 Microsoft Corporation
-- Desktop Engine on Windows NT 5.1 (Build 2600: Service Pack 3)
--
----------------------------------------------------------------
--> 测试数据:#TB
if object_id('tempdb.dbo.#TB') is not null drop table #TB
go
create table #TB([A] numeric(2,1))
insert #TB
select 1.4 union all
select 1.6 union all
select 0.8
--------------开始查询--------------------------

select SUM(CASE WHEN A>1.5 THEN 1.5 ELSE A END)AS A from #TB
----------------结果----------------------------
/*

(所影响的行数为 3 行)

A
----------------------------------------
3.7

(所影响的行数为 1 行)


*/
ouc_ajax 2010-01-17
  • 打赏
  • 举报
回复
select sum( case when num is null then 1.5 when num>1.5 then num else 1.5 end)
from [Province].[dbo].[TableId]
zjlsct 2010-01-17
  • 打赏
  • 举报
回复
表只有一列 列名为 df
数据 1.4
1.6
0.8

要求求和算出来的结果是3.7(1.6>1.5,以1.5计)
ggsysy 2010-01-17
  • 打赏
  • 举报
回复
给出测试数据啊。。
zjlsct 2010-01-17
  • 打赏
  • 举报
回复
各位兄弟帮帮啊,有数据要统计,在线等

34,590

社区成员

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

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