SQL分组后采用LAST函数查询时字段位置的秘密
来源:互联网 发布:淘宝睡衣店铺名字 编辑:程序博客网 时间:2024/05/18 13:24
SQL分组后采用LAST函数查询时,字段位置将影响到每个组的查询结果的排序规律。如果采用了LAST函数来获得最后一条查询结果,有效的排序是很重要的。
例子:
ACCESS 视图设计(一):
SELECT 杆塔信息.编号,监控常规数据.时间, 监控常规数据.线路名称, 监控常规数据.杆塔号, 监控常规数据.杆塔名称, (监控常规数据.SIM卡ID) AS SIM卡号, 监控常规数据.A相雷击次数, 监控常规数据.B相雷击次数, 监控常规数据.C相雷击次数
FROM 监控常规数据 INNER JOIN 杆塔信息 ON 监控常规数据.SIM卡ID=杆塔信息.SIM卡号
UNION SELECT 编号,#1999 - 01 - 01 12:01:01#, 线路名称, 杆塔号, 杆塔名称, SIM卡号, 0 AS A相雷击总数, 0 AS B相雷击总数, 0 AS C相雷击总数
FROM 杆塔信息
ORDER BY 时间;
ACCESS 视图设计(二):
SELECT 杆塔信息.编号, 监控常规数据.线路名称, 监控常规数据.杆塔号, 监控常规数据.杆塔名称, (监控常规数据.SIM卡ID) AS SIM卡号, 监控常规数据.A相雷击次数, 监控常规数据.B相雷击次数, 监控常规数据.C相雷击次数
FROM 监控常规数据 INNER JOIN 杆塔信息 ON 监控常规数据.SIM卡ID=杆塔信息.SIM卡号
UNION SELECT 编号, 线路名称, 杆塔号, 杆塔名称, SIM卡号, 0 AS A相雷击总数, 0 AS B相雷击总数, 0 AS C相雷击总数
FROM 杆塔信息
ORDER BY 时间;
通过这个视图分组查询:
strSQL = "SELECT 编号, 线路名称, 杆塔号, 杆塔名称, SIM卡号, " & _
"LAST(A相雷击次数) AS A相雷击总数," & _
"LAST(B相雷击次数) AS B相雷击总数, " & _
"LAST(C相雷击次数) AS C相雷击总数 " & _
"FROM 视图_杆塔雷击总数 " & _
"GROUP BY 编号, 线路名称, 杆塔号, 杆塔名称, SIM卡号 " & _
"ORDER BY 编号, 线路名称, 杆塔号, 杆塔名称, SIM卡号 "
总结:
1.采用CCESS 视图设计(一),【时间】字段为第二列,分组后采用LAST函数查询时【雷击总次数】将以日期为顺序。
2.采用CCESS 视图设计(二),【时间】字段为末尾列,分组后采用LAST函数查询时【雷击总次数】将以【A相雷击总数】为顺序。因为这个字段值在列顺序中靠前。
SQL查询没有指定排序时,就以字段先后顺序的字段值优先排序。
作者:段利庆 QQ:14035344
- SQL分组后采用LAST函数查询时字段位置的秘密
- SQL查询分组后结果中某字段按照条件相加的实现
- sql 嵌套查询,并通过分组 和字段连接函数GROUP_CONCAT 查询出符合业务的结果集
- sql 按字段分组后取日期最新的一条
- 【SQL】按字段分组查询符合条件记录的方法
- ms sql 分组后其他字段合并
- SQL根据某个字段分组查询:
- sql 多个字段分组查询语句
- Sql ,sqlserver根据一个字段分组查询
- group by后怎么查询除分组字段外的字段
- SQL字符串分组聚合(分组后的数据查询后用逗号隔开)
- SQL查询分组后的第几行数据
- sql --- 子查询+分组函数
- yii 使用原生sql 查询 以某一字段分组 每个字段取出最新的一条数据
- SQL必知必会(二) 计算字段、函数、汇总数据、分组数据、子查询
- [转]SQL分组查询及聚集函数的使用
- 关于分组后字段拼接的问题
- mysql查询分组后显示某一字段最大值行
- C# 显示注释 Documentation summary
- java学习之环境搭建篇
- 递归有深度,堆栈会溢出。
- jQuery 随笔
- 《java与模式》读书笔记之二----工厂方法模式
- SQL分组后采用LAST函数查询时字段位置的秘密
- 嵌入式Linux文件系统介绍
- 通过jquery实现记住用户名密码
- 解决ubuntu unity下gvim菜单消失的问题
- 一道面试题引发的有关随机数的思考(6)
- com.sun.org.apache.commons.beanutils.BeanUtils的用法简介
- 浅谈android的selector,背景选择器(看着有用就转载了)
- Spring MVC中DispatcherServlet工作原理探究
- 关于内存屏障