Sql中的一些费解问题,还是查询?

来源:百度知道 编辑:UC知道 时间:2024/06/10 17:35:51
表结构简单一下:为说明我的问题:
表名:Year
字段:ID,Name,AddDate
里面数据如下
1 Romon 2008-11-15
2 Jack 2008-11-14
3 Fack 2008-11-13
4 Lucy 2008-10-12
5 Mony 2008-10-19
6 Caky 2008-12-15

想查询如下结果:
11月的要一行,10月的要一行,12月的要一行
比如要的结果:2008-11-13
2008-10-12
2008-12-15
简言之,只想要含有每一个月的一行值,也就是要为了的表中含有那些的月份!
Select AddDate From Year group by AddDate,想了想,这样写有错!

HELP....waitting !
我挨着试了,楼二的没数据!
楼三,和楼五的To_char()函数抱错!
楼四想的一样,但不是要的结果!
先谢谢各位!

.................................
楼五的我刚试过,但
为什么,为什么,我的to_char()函数上抱错!不识别该函数!

select distinct min(add_ate) from year group by to_char(adddate,'yy-mm')

不 知道是不是你想要的
我这是ORACLE 的用法!
SQL的话应该是
select distinct min(add_ate) from year group by date_format(adddate,'%Y-%m')。

没经过测试,你自己试一下了,就是把日期的格式转换为'YYYYMM'。
实在不行就截取日期前7位得了!
select distinct min(add_ate) from year group by substr(adddate,1,7)。
电脑上没有SQL,不能测试,SORRY!!但愿能解决你的问题

当然是有问题了..建议你再加一个列..

把月份存在那个列里.再用那个列分组.

如果不想加..就只有把AddDate 的月份分离出来分组.

不知道行不行

肯定错啦...group by整一列毫秒不一样都分一组了

SELECT MIN(AddDate) FROM Year GROUP BY TO_CHAR(adddate,'yy-mm');

SELECT DISTINCT SUBSTR (adddate, 1, 7)
FROM YEAR
ORDER BY adddate

declare@i int
set @i=1
while(i<13)
begin
select top 1 * from year where addDate like '2008-'+convert(varchar(2),@i)+'%'
set @i=@i+1
end
思路是这样,利用只每个月只显示头一个,然后循环输出就达到你所需要的目的了!