|
楼主 |
发表于 2012-4-24 00:06
|
显示全部楼层
本帖最后由 opiona 于 2013-2-4 18:11 编辑
详见附件:
SQL中常用的函数.rar
(14.76 KB, 下载次数: 1951)
- '在SQL查询中常用的函数:
-
- ' SUM(字段名) 把数据栏的值相加
- StrSQL = "SELECT 班级,SUM(分数) AS 合计 FROM [" & SH1.Name & "$] GROUP BY 班级"
- ' COUNT(字段名) 对数据行数的统计或对某一栏有值的数据行数统计
- StrSQL = "SELECT 班级, COUNT(姓名) AS 人数 FROM [" & SH1.Name & "$] GROUP BY 班级"
- ' MAX(字段名) 取得一个表格栏最大的值,文本时最大ASII值
- StrSQL = "SELECT 班级, MAX(分数) AS 分数 FROM [" & SH1.Name & "$] GROUP BY 班级"
- ' MIN(字段名) 取得一个表格栏最小的值 ,文本时最小ASII值
- StrSQL = "SELECT 班级, MIN(分数) AS 分数 FROM [" & SH1.Name & "$] GROUP BY 班级"
- ' IIF(字段名>0,字段名,NULL) 条件函数
- StrSQL = "SELECT 班级, SUM(IIF(性别='男',分数,0)) AS 男分数合计,SUM(IIF(性别='女',分数,0)) AS 女分数合计 FROM [" & SH1.Name & "$] GROUP BY 班级"
- ' AVG(字段名) 得出一个表格栏平均值
- StrSQL = "SELECT 班级,ROUND(AVG(分数),2) AS 平均分 FROM [" & SH1.Name & "$] GROUP BY 班级"
- ' LAST和FIRST(字段名) 分组汇总时,提取其他(非汇总)字段部分
- StrSQL = "SELECT 班级,SUM(分数) AS 合计,FIRST(姓名) AS 代表 FROM [" & SH1.Name & "$] GROUP BY 班级"
- ' HAVING函数,获得函数表达的指定条件:
- ' SELECT "栏位1", SUM("栏位2") FROM "表格名" GROUP BY "栏位1" HAVING (函数条件)
- StrSQL = "SELECT 班级, SUM(分数) AS 合计 FROM [" & SH1.Name & "$] GROUP BY 班级 HAVING SUM(分数) > 250"
- '
- 'VBA中部分函数也可用于SQL的查找部分和条件部分
- ' 如:FORMAT(日期,'YYYY-MM-DD')、INSTR(姓名,'王')>0、ROUND(AVG(分数),2) 等等。
- StrSQL = "SELECT * FROM [" & SH1.Name & "$] WHERE INSTR(姓名,'王')>0"
复制代码
|
|