CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  MS-SQL Server >  应用实例

怎么写下面的分组统计SQL语名

楼主139274()2004-09-03 12:29:47 在 MS-SQL Server / 应用实例 提问

列  
  ID         SALE_PRICE  
  2             1500  
  ID         SALE_PRICE  
  3             1600  
  ID         SALE_PRICE  
  4             3500  
  ID         SALE_PRICE  
  5             4500  
  ID         SALE_PRICE  
  6           2800  
   
  分组按段统计  
  1000-2000  
  2000-3000  
  ............  
  结果  
  Totale     T1  
  2100  1000-2000  
   
  。。。。。。。。  
  问题点数:20、回复次数:7Top

1 楼lzymagi(逸)回复于 2004-09-03 12:38:13 得分 2

能否说清楚点.按什么分组.如何对应?Top

2 楼139274()回复于 2004-09-03 12:53:13 得分 0

就是对SALE_PRICE按段分组啊  
  价格在:1000-2000 分一段  
  价格在:2000-3000 分一段  
  价格在:3000-4000 分一段  
  然后统计SALE_PRICE合计  
  --------------------------  
  Top

3 楼zlp321002(Life Is Good,Let's Shine)回复于 2004-09-03 12:58:40 得分 5

Totale     T1                                         ???????????????  
  2100  1000-2000                 --是不是楼主写错了   3100  
   
  。。。。。。。。Top

4 楼lzymagi(逸)回复于 2004-09-03 13:02:16 得分 5

create   ##temp   (total   bigint,t1   varchar(20))  
  insert   ##temp   select   sum(sale_price),'1000-2000'   from   table   where   sale_price   >   1000   and   sale_price   <=   2000  
  insert   ##temp   select   sum(sale_price),'1000-2000'   from   table   where   sale_price   >   2000   and   sale_price   <=   3000  
  insert   ##temp   select   sum(sale_price),'1000-2000'   from   table   where   sale_price   >   3000   and   sale_price   <=   4000  
   
  select   *   from   ##temp  
  这是通过临时表来做的.  
  另外也可能通过一条语句来做(用CASE),自己想一下吧Top

5 楼139274()回复于 2004-09-03 13:37:59 得分 0

这么复杂吗  
  一条SQL语句不能搞?Top

6 楼cxingh()回复于 2004-09-03 13:53:50 得分 8

Create   table   #bb(Id   int,   price   float)  
   
  insert   into   #bb  
  select   2,1500  
  insert   into   #bb  
  select   3,1600  
  insert   into   #bb  
  select   4,3500  
  insert   into   #bb  
  select5,4500  
  insert   into   #bb  
  select   6,2800  
   
  select   *   from   #bb  
  select     Convert(varchar(5),(convert(   int,   price/1000)-1)*1000)   +'~'   +     Convert(varchar(5),convert(   int,   price/1000)*1000),  
                            sum(price)  
  from   #bb  
  group   by   Convert(varchar(5),(convert(   int,   price/1000)-1)*1000)   +'~'   +     Convert(varchar(5),convert(   int,   price/1000)*1000)  
   
  注:   如果Price是int型   Convert(varchar(5),(convert(   int,   price/1000)-1)*1000)   +'~'   +     Convert(varchar(5),convert(   int,   price/1000)*1000)  
  中的转换成int型可以省去Top

7 楼tinghuyang(小胡)回复于 2004-09-22 16:14:43 得分 0

upTop

相关问题

  • 分组统计
  • 分组统计SQL?
  • 这个sql 语句怎么写,分组统计
  • 求一个简单分组统计的sql语句
  • 日期分组统计
  • 纵向的分组统计??
  • 分组统计问题
  • 分组统计问题
  • Sql分组统计问题
  • 求如何分组统计

关键词

  • 统计
  • sale
  • price
  • 价格
  • total
  • 分一段

得分解答快速导航

  • 帖主:139274
  • lzymagi
  • zlp321002
  • lzymagi
  • cxingh

相关链接

  • SQL Server类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo