微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

sql-server – 如何将数据分组到Microsoft SQL中的存储区

目前我的sql语句如下
SELECT NAME,ROUND([DR# BASE]/DAYS_WORKED,0) AS 'BASE/DAY'
FROM MYTABLE

输出数据如下所示

NAME    BASE/DAY
James   300
Jane    310
Jim 313
John    325
Jonah   400

是否有一个sql语句使输出看起来像下面这样?

NAME    BUCKET  BASE/DAY
James   300 <= 325  300
Jane    300 <= 325  310
Jim 300 <= 325  313
John    300 <= 325  325
Johnny  325 <= 350  329
Jonah   350 <= 400  400

解决方法

SELECT NAME,CASE WHEN [BASE/DAY] <= 325 THEN '300 <= 325'
     WHEN [BASE/DAY] <= 350 THEN '325 <= 350'
     WHEN [BASE/DAY] <= 400 THEN '350 <= 400'
END AS BUCKET,[BASE/DAY]
FROM
(
    SELECT NAME,0) AS 'BASE/DAY' FROM MYTABLE
) T
ORDER BY 1,2,3

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐