按日期分组 查询问题~ 100分!

popid 2008-12-22 03:42:38
sql 语句如下:
select logindate,username
from user
where logindate betwee @startdate and @enddate
(group by logindate)???问题
我想让logindate 按天分组,@startdate可能是07年的一天和@enddate是08年的一天,跨年如何解决分组啊?
...全文
106 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
chaofeipz 2009-02-23
  • 打赏
  • 举报
回复
mysql 是这样写的
select
DATE(logindate),username
from
user
where
logindate betwee begindate and enddate
group by
DATE(logindate)
bluefangxiao 2008-12-23
  • 打赏
  • 举报
回复


select
convert(char(10),logindate,120),username
from
user
where
logindate betwee @startdate and @enddate
group by
convert(char(10),logindate,120)



lzd1_83 2008-12-23
  • 打赏
  • 举报
回复
select 
convert(char(10),logindate,120),username
from
user
where
logindate between @startdate and @enddate
group by
convert(char(10),logindate,120)
super_iven 2008-12-23
  • 打赏
  • 举报
回复
UP
richnaly 2008-12-23
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 dawugui 的回复:]
引用楼主 popid 的帖子:
sql 语句如下:
select logindate,username
from user
where logindate betwee @startdate and @enddate
(group by logindate)???问题
我想让logindate 按天分组,@startdate可能是07年的一天和@enddate是08年的一天,跨年如何解决分组啊?



SQL codeselect convert(varchar(10) ,logindate , 120) riqi,max(username)
from user
where logindate betwee @startdat…
[/Quote]
支持
yesterday1013 2008-12-22
  • 打赏
  • 举报
回复
恩~真的很好啊!
wanshichen 2008-12-22
  • 打赏
  • 举报
回复
group by convert(varchar(10),logindate,120)
ou_yangpengfei 2008-12-22
  • 打赏
  • 举报
回复
路过
tmd456 2008-12-22
  • 打赏
  • 举报
回复
select
convert(char(10),logindate,120),username
from
user
where
logindate betwee @startdate and @enddate
group by
datename(dd, logindate)
dobear_0922 2008-12-22
  • 打赏
  • 举报
回复
如果2007-12-22与2008-12-22分在同一组:
select right(convert(varchar(10) ,logindate , 120),5) riqi,min(username)
from user
where logindate betwee @startdate and @enddate
group by right(convert(varchar(10) ,logindate , 120),5)
bhtfg538 2008-12-22
  • 打赏
  • 举报
回复

select
convert(char(10),logindate,120),username
from
user
where
logindate betwee @startdate and @enddate
group by
convert(char(10),logindate,120)

--使用 CTE
WITH FUCK AS
(
select
convert(char(10),logindate,120) as something,username
from
user
where
logindate betwee @startdate and @enddate

)
select * from FUCK group by something
nalnait 2008-12-22
  • 打赏
  • 举报
回复
group by convert(varchar(10),logindate,120)
bennyyyyy 2008-12-22
  • 打赏
  • 举报
回复
用convert
水族杰纶 2008-12-22
  • 打赏
  • 举报
回复
select DATEPART(DD,logindate),username 
from [user]
where logindate betweeN @startdate and @enddate
group by DATEPART(DD,logindate),username
dawugui 2008-12-22
  • 打赏
  • 举报
回复
[Quote=引用楼主 popid 的帖子:]
sql 语句如下:
select logindate,username
from user
where logindate betwee @startdate and @enddate
(group by logindate)???问题
我想让logindate 按天分组,@startdate可能是07年的一天和@enddate是08年的一天,跨年如何解决分组啊?
[/Quote]

select convert(varchar(10) ,logindate , 120) riqi,max(username)
from user
where logindate betwee @startdate and @enddate
group by convert(varchar(10) ,logindate , 120)

select convert(varchar(10) ,logindate , 120) riqi,min(username)
from user
where logindate betwee @startdate and @enddate
group by convert(varchar(10) ,logindate , 120)
子陌红尘 2008-12-22
  • 打赏
  • 举报
回复
??

select 
convert(char(10),logindate,120),username
from
user
where
logindate betwee @startdate and @enddate
group by
convert(char(10),logindate,120)
中国风 2008-12-22
  • 打赏
  • 举报
回复
select logindate=convert(varchar(10),logindate,120),username
from [user]
where logindate betwee @startdate and @enddate
group by convert(varchar(10),logindate,120),username
生活真美好 2008-12-22
  • 打赏
  • 举报
回复
convert()按121转换为10位字符即可

34,576

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧