能按数值范围分组码

cloudgamer 2012-12-11 05:17:55
例如0-100 100-250 250-500 500以上
在sql可以这样分吗
...全文
120 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
cloudgamer 2012-12-12
  • 打赏
  • 举报
回复
join可以这样用吗
cloudgamer 2012-12-12
  • 打赏
  • 举报
回复
做一个区间表 然后join 再group by 区间表?
gogodiy 2012-12-12
  • 打赏
  • 举报
回复
可以是可以,但是如果按照你这样的格式,要多一个解析的过程,对查询性能没好处。 你不如做个区间表,设置2个字段:下限,上限。 下限 上限 0 100 101 250 251 500 这种类型,然后只要关联这个区间表进行比较即可。
cloudgamer 2012-12-12
  • 打赏
  • 举报
回复
目的是count计算每组的项目数
cloudgamer 2012-12-12
  • 打赏
  • 举报
回复
就是有一列是 10 120 130 520 然后按范围分组 10 120 130 520
fanyaohua9 2012-12-11
  • 打赏
  • 举报
回复
给个具体的例子 你到底想要什么!
jiangshun 2012-12-11
  • 打赏
  • 举报
回复
SELECT CASE WHEN number<101 THEN 0 WHEN number BETWEEN 101 AND 250 THEN 1 WHEN number BETWEEN 251 AND 500 THEN 2 ELSE 3 END, COUNT(1) FROM [master].dbo.spt_values sv WHERE sv.[type]='p' AND sv.number>0 GROUP BY CASE WHEN number<101 THEN 0 WHEN number BETWEEN 101 AND 250 THEN 1 WHEN number BETWEEN 251 AND 500 THEN 2 ELSE 3 END ORDER BY 1 /* ----------- ----------- 0 100 1 150 2 250 3 1547 (4 行受影响) */
發糞塗牆 2012-12-11
  • 打赏
  • 举报
回复
给完整点的例子。你要0-100 100-250 250-500 500作为列还是行?要统计还是不统计?

34,576

社区成员

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

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