以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]分段统计问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=104159) |
-- 作者:xndd -- 发布时间:2017/7/24 17:08:00 -- [求助]分段统计问题 我的userinfo表中有一列是年龄列,我想要统计出20岁以下、21-30、31-40、41-50、51以上等年龄段的数据 我的想法是用sql生成临时表,再用临时表去统计分析,但是写了几种sql都不行: 请问老师有没有更好的办法,谢谢! 怎么没法插入sql语句代码到论坛? 提示:
[此贴子已经被作者于2017/7/24 17:13:22编辑过]
|
-- 作者:有点甜 -- 发布时间:2017/7/24 17:46:00 -- 先看懂这个句
Select (Case when 年龄 < 20 Then 1 Else 0 End) As 少于20, (Case when 年龄 >= 20 And 年龄 < 30 Then 1 Else 0 End) As 20到30 from {表A}
然后再sum即可。 |
-- 作者:xndd -- 发布时间:2017/7/25 8:35:00 -- 这条语句在sqlserver里都正常,但是到了foxtable里就不正常的 .NET Framework 版本:2.0.50727.8745 Foxtable 版本:2017.6.12.1 错误所在事件: 详细错误信息: IErrorInfo.GetDescription 因 E_FAIL(0x80004005) 而失败。 |
-- 作者:有点甜 -- 发布时间:2017/7/25 9:01:00 -- 1、你在foxtable里面测试的是 内部表,还是access表,还是sqlserver表? 不同的表sql语句不一样的。
内部表和access表,要用iif函数代替case when
2、贴出你完整的sql语句。 |
-- 作者:xndd -- 发布时间:2017/7/25 9:08:00 -- 我没法在这里发出sql语句,论坛会提示违反了论坛什么什么,好奇怪,可能是没权限 我基于你的sql,先直接放在foxtable里面,就提示上面的问题,我是内部表的。
|
-- 作者:有点甜 -- 发布时间:2017/7/25 10:08:00 -- 以下是引用xndd在2017/7/25 9:08:00的发言:
我没法在这里发出sql语句,论坛会提示违反了论坛什么什么,好奇怪,可能是没权限 我基于你的sql,先直接放在foxtable里面,就提示上面的问题,我是内部表的。
内部表要这样写,如
Select iif(年龄<20, 1, 0) As 少于20, iif(年龄>=20 And 年龄<30, 1, 0) As 20到30 from {表A} |
-- 作者:xndd -- 发布时间:2017/7/25 10:42:00 -- 提示: 至少一个参数没有被指定值。 |
-- 作者:有点甜 -- 发布时间:2017/7/25 11:27:00 -- 以下是引用xndd在2017/7/25 10:42:00的发言:
提示: 至少一个参数没有被指定值。
那就是你的列名写错了。而且,你sql语句的列名,不能是表达式列。 |