Foxtable(狐表)用户栏目专家坐堂 → 怎么给数据分级别


  共有2451人关注过本帖树形打印复制链接

主题:怎么给数据分级别

帅哥哟,离线,有人找我吗?
fubblyc
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2355 积分:16187 威望:0 精华:0 注册:2013/9/1 8:09:00
怎么给数据分级别  发帖心情 Post By:2015/12/27 12:49:00 [显示全部帖子]

各位老师好,有一段时间没弄数据库,忘了这个怎么写了。
就是把数据进行分级,如下图:字段 消费次数,想要生成另一个字段 次数级别,内容是根据 消费次数 这个字段生成,规则比如::1~3 次,1级别,4~8次  2级别,8次以上,3级别。 哈哈,忘了怎么写了。

图片点击可在新窗口打开查看此主题相关图片如下:qq截图20151227124519.png
图片点击可在新窗口打开查看


 回到顶部
帅哥哟,离线,有人找我吗?
fubblyc
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2355 积分:16187 威望:0 精华:0 注册:2013/9/1 8:09:00
  发帖心情 Post By:2015/12/27 13:25:00 [显示全部帖子]

好,谢谢 大红袍 老师。研究中。。之前写过,只是好久没弄,给忘了。。

 回到顶部
帅哥哟,离线,有人找我吗?
fubblyc
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2355 积分:16187 威望:0 精华:0 注册:2013/9/1 8:09:00
  发帖心情 Post By:2015/12/27 15:27:00 [显示全部帖子]

我这样做了:
CASE [消费次数] 
when [消费次数]>=10 then '高'
when [消费次数]<=3 then '低'
else '中'
as '次数级别'
 
提示这样的错误,不知道哪里错了
[Err] 42000 - [SQL Server]'>' 附近有语法错误。 

 回到顶部
帅哥哟,离线,有人找我吗?
fubblyc
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2355 积分:16187 威望:0 精华:0 注册:2013/9/1 8:09:00
  发帖心情 Post By:2015/12/27 15:33:00 [显示全部帖子]

CASE [消费次数]
when [消费次数]>='10' then '高'
when [消费次数]>='3' and [消费次数]<'10' then '中'
else '低'
as '次数级别'

给 10  等具体数字 加上 单引号 也还是同样的问题

 回到顶部
帅哥哟,离线,有人找我吗?
fubblyc
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2355 积分:16187 威望:0 精华:0 注册:2013/9/1 8:09:00
  发帖心情 Post By:2015/12/27 15:55:00 [显示全部帖子]

奇怪,怎么老是不正确:

图片点击可在新窗口打开查看此主题相关图片如下:qq截图20151227155554.png
图片点击可在新窗口打开查看


 回到顶部
帅哥哟,离线,有人找我吗?
fubblyc
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2355 积分:16187 威望:0 精华:0 注册:2013/9/1 8:09:00
  发帖心情 Post By:2015/12/27 15:58:00 [显示全部帖子]

我这样写的:
(CASE [消费次数]
when [消费次数]>=10 then '高'
when [消费次数]>=3 and [消费次数]<10 then '中'
else '低' end )
as [次数级别]



 回到顶部
帅哥哟,离线,有人找我吗?
fubblyc
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2355 积分:16187 威望:0 精华:0 注册:2013/9/1 8:09:00
  发帖心情 Post By:2015/12/27 16:16:00 [显示全部帖子]

照6楼这样子:(CASE 
when [消费次数]>=10 then '高'
when [消费次数]>=3 and [消费次数]<10 then '中'
else '低' end )
as [次数级别]

提示:[Err] 42S22 - [SQL Server]列名 '消费次数' 无效。
42S22 - [SQL Server]列名 '消费次数' 无效。
42S22 - [SQL Server]列名 '消费次数' 无效。

消费次数 是这样来的:
COUNT (DISTINCT sql42988.[消费记录].[消费时间]) AS [消费次数],

 回到顶部
帅哥哟,离线,有人找我吗?
fubblyc
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2355 积分:16187 威望:0 精华:0 注册:2013/9/1 8:09:00
  发帖心情 Post By:2015/12/27 16:24:00 [显示全部帖子]

消费次数 本身不是数据表的列,是计算出来的列

 回到顶部
帅哥哟,离线,有人找我吗?
fubblyc
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2355 积分:16187 威望:0 精华:0 注册:2013/9/1 8:09:00
  发帖心情 Post By:2015/12/27 17:24:00 [显示全部帖子]

可以了,谢谢袍哥!!

(CASE
when COUNT (DISTINCT sql42988.[消费记录].[消费时间]) >=10 then '高'
when COUNT (DISTINCT sql42988.[消费记录].[消费时间]) >=3 and COUNT (DISTINCT sql42988.[消费记录].[消费时间]) <10 then '中'
else '低' end )
as [次数级别]     
可以。

 

 

select *, (case语句) as 次数级别 F rom (原本的sql语句) as a

 不知道是不是没写对,不行。先这样,回头再来测。

 回到顶部