CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
IBM Rational 系统开发最佳实践工具包 WebSphere MQ 最佳实践 TOP 15
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  其他数据库开发 >  数据仓库

高分跪求一SQL查询语句,急急急

楼主xiaobifei(小菲)2006-03-05 13:51:57 在 其他数据库开发 / 数据仓库 提问

我有一个表main内容如下  
  date                                     name                     total      
  2006-03-01   07:20:00         adn                       20  
  2006-03-01   07:25:00         adf                       40  
  2006-03-01   09:20:00         df                         20  
  2006-03-02   07:20:00         dfsd                     10  
  2006-03-02   05:20:00         df                         2.3  
  2006-03-01   05:20:00         dsf                       2.4  
  2006-03-03   07:20:00         sdf                       2.64  
  我想统计2006-03-01到2006-03-03这三天每天的记录数怎么弄,并把每天的都汇总显示  
  我的查询语句为  
  select   count(date)   from   main   date>=2006-03-01   00:00:00   date<=2006-03-03   23:29:29   group   by   date  
  汇总出为的数据为  
  1  
  1  
  1  
  1  
  1  
  1  
  了可我想的是把每天的记录数分别汇总,按照我的要求应该为  
  4  
  2  
  1  
   
  请问该怎么写代码啊  
  问题点数:20、回复次数:6Top

1 楼filebat(Mark)回复于 2006-03-05 15:30:45 得分 5

select   日期=convert(char(10),   date,   120),   记录数=count(1)  
  from   tt  
  where   date   between   '2006-03-01   00:00:00   '   and   '2006-03-03   23:29:29'  
  group   by   convert(char(10),   date,   120)Top

2 楼filebat(Mark)回复于 2006-03-05 15:31:42 得分 0

--对于sqlserver数据库,下面这个是OK的  
  create   table   tt(date   datetime,   name   varchar(10),   total   float)  
  go  
  insert   tt   select   '2006-03-01   07:20:00',   'adn',   20  
  union   all   select   '2006-03-01   07:25:00',   'adf',   40  
  union   all   select   '2006-03-01   09:20:00',   'df',     20  
  union   all   select   '2006-03-02   07:20:00',   'dfsd',10  
  union   all   select   '2006-03-02   05:20:00',   'df',     2.3  
  union   all   select   '2006-03-01   05:20:00',   'dsf',   2.4  
  union   all   select   '2006-03-03   07:20:00',   'sdf',   2.64  
  go  
   
  select   日期=convert(char(10),   date,   120),   记录数=count(1)  
  from   tt  
  where   date   between   '2006-03-01   00:00:00   '   and   '2006-03-03   23:29:29'  
  group   by   convert(char(10),   date,   120)  
  Top

3 楼hemhem(半斤)回复于 2006-03-07 16:58:43 得分 0

group   by   写错了你Top

4 楼cobejordan(非菲非霏)回复于 2006-03-09 14:44:10 得分 5

说明使用的数据库,才能给你准确SQL。date是关键字,避免使用。  
   
  设cast()是转换字段类型的函数,思路如下:  
  select   cast(日期   as   date   'YYYYMMDD'),   count(*)  
  from   main  
  where   cast(日期   as   date   'YYYYMMDD')   between   '20060301'   and   '20060303'  
  group   by   1Top

5 楼kaple(纸叶子)回复于 2006-03-16 17:23:31 得分 5

select   count(date)   from   main    
  where   date>=2006-03-01   00:00:00   date<=2006-03-03   23:29:29    
  group   by   to_char(date,'yyyymmdd')  
  Top

6 楼scounix505(mery)回复于 2006-03-22 11:46:13 得分 5

oracle中语句:  
  select   to_char(date,1,8)   date,count(*),sum(total)   from   main   group   by   to_char(date,1,8)   order   by   to_char(date,1,8)  
  Top

相关问题

  • 求一条查询的SQL语句,急急急急急急
  • 急! ! 急 ! ! 急! ! 急 ! !  一简单SQL语句查询!
  • sql查询语句问题?急!急!急!在线求救
  • 高分跪求一SQL查询语句,急急急
  • 高分跪求一SQL查询语句,急急急
  • sql语句 急急
  • 急急,sql语句!
  • SQL查询语句
  • Sql 查询语句
  • SQL查询语句

关键词

  • 语句
  • date
  • df
  • main

得分解答快速导航

  • 帖主:xiaobifei
  • filebat
  • cobejordan
  • kaple
  • scounix505

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo