ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 1863|回复: 6

[求助] excel SQL 统计问题

[复制链接]

TA的精华主题

TA的得分主题

发表于 2010-6-25 11:35 | 显示全部楼层 |阅读模式
之前一直在VFP等语言下使用sql,今天在论坛上看到excel中也可以使用
并用能提高效率, 欣喜若狂, 就试了一下

在vfp中 我使用:
select month(日期) as 月份,包装材料名称, sum(使用量) as 使用量 from d:\temp.dbf group by 月份,包装材料名称

在excel中:
select "一车间" as 车间,month(日期) as 月份,包装材料名称,sum(使用量) as 使用量 FROM [一车间$A2:J] group by 月份,包装材料名称

在excel中总是提示 month(日期) 合计不能包含它
请问是什么原因?


日期        包装材料名称        使用量
2010/1/1        大防伪标签        3857
2010/1/2        中防伪标签        29038
2010/1/3        小防伪标签        354844
2010/1/4        防伪说明书        87681
2010/1/5        160ml复方黄松洗液塑料瓶        278601
2010/1/6        160ml复方黄松洗液产品说明书        278502
2010/1/7        160ml复方黄松洗液中盒        23216
2010/3/8        160ml复方黄松洗液纸箱        2901
2010/4/9        100ml复方黄松洗液塑料瓶        19393
2010/5/10 100ml复方黄松洗液产品说明书        19302
2010/2/11 100ml复方黄松洗液中盒        966
2010/3/12100ml复方黄松洗液纸箱        160
2010/4/13150ml复方黄松洗液塑料瓶        21924
2010/5/14150ml复方黄松洗液产品说明书        21842
2010/1/15150ml复方黄松洗液中盒        1820
2010/1/16150ml复方黄松洗液纸箱        227
2010/1/17250ml复方黄松洗液塑料瓶        12452

TA的精华主题

TA的得分主题

发表于 2010-6-25 12:16 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
select "一车间" as 车间,month(日期) as 月份,包装材料名称,sum(使用量) as 使用量 FROM [一车间$A2:J] group by 月份,包装材料名称
改成:
select "一车间" as 车间,month(日期) as 月份,包装材料名称,sum(使用量) as 使用量 FROM [一车间$A2:J] group by "一车间",month(日期) ,包装材料名称

PS:楼主的语句,可以看出对表的概念未掌握.

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-6-25 14:19 | 显示全部楼层
十分感谢2楼的回复...

能讲解一下原理吗?我现在重新在学习sql,觉得我跟在vfp中用的有许多不同.

TA的精华主题

TA的得分主题

发表于 2010-6-25 21:01 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2010-6-26 10:42 | 显示全部楼层
select 基本语句:
select 字段 from 表 where ……
解释:
select:查询
字段:表的第一行名称,也称栏位名称和列名称。
from:从……返回
表:在EXCEL中,指的是有单元格构成的区域。
where:条件,可选。
整句意思:从表中查找符合条件的字段记录,并返回记录的集合。这个集合我称为结果表,相当于原表来说,是新表。
select "一车间" as 车间,month(日期) as 月份,包装材料名称,sum(使用量) as 使用量 FROM [一车间$A2:J] group by "一车间",month(日期) ,包装材料名称

group by 后面跟的是原表要分组的表字段,而AS后面接的别名,则是原表在新表中的名称。在这里,[一车间$A2:J]是原表,(select "一车间" as 车间,month(日期) as 月份,包装材料名称,sum(使用量) as 使用量 FROM [一车间$A2:J] group by "一车间",month(日期) ,包装材料名称)是新表。

[ 本帖最后由 wuxiang_123 于 2010-6-26 11:03 编辑 ]

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-6-26 14:37 | 显示全部楼层
謝謝說明, 但我發現
select "一车间" as 车间,month(日期) as 月份,包装材料名称,sum(使用量) as 使用量 FROM [一车间$A2:J] group by "一车间",month(日期) ,包装材料名称
如果改為
select "一车间" as 车间,month(日期) as 月份,包装材料名称,sum(使用量) as 使用量 FROM [一车间$A2:J] group by  车间,month(日期) ,包装材料名称
則結果又變了許多,因為有時"一車間"是個變量, 比如要用到iif這樣的判斷, 這樣的話,在group by
也要寫上iif()這樣的...不能簡單些直接使用 as後面的嗎

TA的精华主题

TA的得分主题

发表于 2010-6-26 19:55 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
学习来了..呵呵
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-29 06:47 , Processed in 0.047511 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表