A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© z4226797 中级黑马   /  2012-4-23 17:00  /  2131 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  比如视频中的一个例题,查询出所有数据中拔打长途号码(对方号码以0开头)的总时长
  SQL语句:  select sum(datediff(second,StartDateTime,EndDateTime)) from t_CallRecords1
                where TelNum like '0%'

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

5 个回复

倒序浏览
1先从表里面调出表中所有数据。
2以where为条件进行筛选。
3.以group by+列对筛选后的数据进行分组
4.使用having对分组后的数据进行再次筛选
5.执行select 选出要输出的列,以distinct关键字去除重复项,然后top关键字起作用得到前多少项
6.最后order by使用某列进行排序

评分

参与人数 1技术分 +2 收起 理由
宋天琪 + 2

查看全部评分

回复 使用道具 举报
那以where查询时,是一行一行查询的吗?

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
学习了谢谢sdfewrewrwer
回复 使用道具 举报
本帖最后由 许庭洲 于 2012-4-26 17:18 编辑

标准select执行过程:
1.from子句,组装来自不同数据源的数据;
2.where子句,基于指定的条件对记录进行挑选;
3.group by子句,将数据划分为多个分组;
4.使用聚合函数进行计算;
5.使用HAVING字句筛选分组;
6.计算所有的表达式;
7.使用ORDER BY 对结果集进行排序。

评分

参与人数 1技术分 +2 收起 理由
宋天琪 + 2

查看全部评分

回复 使用道具 举报
模糊查询。。一般是进行。先对where条件的判断再来执行datediff(second,StartDateTime,EndDateTime
最后再来执行SUM函数

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马