ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 简单问题的烦恼——请帮忙

[复制链接]

TA的精华主题

TA的得分主题

发表于 2010-3-3 22:28 | 显示全部楼层 |阅读模式
请问高手,由于以前用的是ORACLE 数据库,对PLSQL语言比较熟一点,最近我用Access & SQL Server 来写一段SQL语句来查询一个简单的数据,对于这个简单问题我想了足足三天没有办法解决,具体是这样的:
假设一张表叫做A,里面的数据如下:
day_date                  销售量
2001-01-01 08:00        3
2001-01-01 09:00        5
2001-01-01 10:00        4
2001-01-01 11:00        6
2001-01-01 00:00        5
2001-01-02 08:00        7
2001-01-02 11:00        3
2001-01-03 08:00        1
2001-01-03 08:00        2
2001-01-04 08:00        4
我要做的是,将日期从day_date取出来,并计算每天的销售量,结果如下:
时间        总销售量
2001-01-01         18
2001-01-02         10
2001-01-03         3
2001-01-04         4

以前用PL/SQL 我可以这么写
select  substr(a.day_date,1,10)  时间,sum(a.销售量)
from a
group by substr(a.day_date,1,10)

现在我用上面语句在Access & SQL Server 运行老是出错。请高手帮忙解决下,谢谢。

TA的精华主题

TA的得分主题

发表于 2010-3-3 22:49 | 显示全部楼层
用数据透视表不更简单吗

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-3-3 22:51 | 显示全部楼层
我刚才那个是举例说明,数据库的数据很多,不可能用透析表。。

TA的精华主题

TA的得分主题

发表于 2010-3-4 01:01 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2010-3-4 08:12 | 显示全部楼层
用sqlserver的t-sql语句

如果day_date是文本类型

select  left(day_date,10)  时间,sum(销售量) 总销售量
from a
group by left(day_date,10)

如果day_date是datetime类型

select  convert(char(10),day_date,120)  时间,sum(销售量) 总销售量
from a
group by convert(char(10),day_date,120)

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-3-4 11:55 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
原帖由 meeting 于 2010-3-4 08:12 发表
用sqlserver的t-sql语句

如果day_date是文本类型

select  left(day_date,10)  时间,sum(销售量) 总销售量
from a
group by left(day_date,10)

如果day_date是datetime类型

select  convert(char(10),d ...


谢谢指教,我day_date是datetime类型,但是运行时出现convert函数未定义,请帮忙下,谢谢。

TA的精华主题

TA的得分主题

发表于 2010-3-4 12:44 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
可能你的环境是access

试试这个

select  day_date as  时间,sum(销售量)  as 总销售量
from a
group by day_date

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-3-4 13:37 | 显示全部楼层
原帖由 meeting 于 2010-3-4 12:44 发表
可能你的环境是access

试试这个

select  day_date as  时间,sum(销售量)  as 总销售量
from a
group by day_date

你好,这样的代码求出来的是一天每个小时的销量之和,不是我要的每天销量和,所以取出来的数据还要我自己再手动求和,很麻烦,我需要的是一下子出现每天总的销售量,谢谢指教。

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-3-4 13:39 | 显示全部楼层
再次谢过MEETING,我用的就是access环境下的SQL

TA的精华主题

TA的得分主题

发表于 2010-3-4 15:31 | 显示全部楼层
SELECT DateValue(day_date) AS 日期, Sum(销售额) AS 销售额合计
FROM a
GROUP BY DateValue(day_date);
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2025-1-12 22:47 , Processed in 0.023630 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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