标题:这样的select语句如何写?
只看楼主
hujj
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:32
专家分:131
注 册:2006-5-1
结帖率:100%
已结贴  问题点数:10 回复次数:13 
这样的select语句如何写?
一个表中有年份和日期两个字段,我想筛选出每年的日期最大的记录,请问在ASP+ACCESS中,这条select语句该如何写?
搜索更多相关主题的帖子: 如何 记录 最大的 
2011-10-25 21:52
gesongs
Rank: 3Rank: 3
等 级:论坛游侠
威 望:3
帖 子:129
专家分:100
注 册:2011-7-7
得分:5 
链接数据库。。。。。。
<%
rs=server.CreateObject("ADODB.recordset")
sql ="select (每年),max(日期) from 表  group by (每年),max(日期) order by max(日期) desc"
rs.open sql,conn,1,1
response.write("每年")&"<br>"
response.write("日期")
%>


2011-10-26 14:40
hujj
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:32
专家分:131
注 册:2006-5-1
得分:0 
感谢楼上相助!不过测试时出错的语句如下:
rs.open "select yyyy,max(ymdt) from mytext group by yyyy,max(ymdt) order by yyyy desc",conn,1,1
其中YYYY是年份的字段名、YMDT是日期的字段名。

出错提示:
Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e21'
ODBC 驱动程序不支持所需的属性。


[ 本帖最后由 hujj 于 2011-10-27 20:13 编辑 ]
2011-10-27 20:11
hexuyue
Rank: 1
等 级:新手上路
帖 子:1
专家分:3
注 册:2011-10-28
得分:3 
select year,data,max(data) from 表名 order by year --//不知道对不对,刚学数据库的select语句,
2011-10-28 20:36
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
得分:2 
语句1,先按年份排序再按日期排序,年份是一样的就会自动分组
select TOP 1 * from [tablename] order by [year] desc,[day] desc
语句2,先按年份分组不排序,再按日期排序
select TOP 1 * from [tablename] group by [year] order by [day] desc
desc由大到小, asc由小到大
2011-10-28 21:49
hujj
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:32
专家分:131
注 册:2006-5-1
得分:0 
参照4楼的提示,我将代码改成:
rs.open "select yyyy,max(ymdt) from mytext group by yyyy order by yyyy desc",conn,1,1
仍然是提示同样的错误,这条语句我在VFP下测试却没有问题,达到需要的结果。
2011-10-29 08:11
hujj
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:32
专家分:131
注 册:2006-5-1
得分:0 
参照版主楼的提示,我将代码改成:
rs.open "select top 1 * from mytext order by yyyy desc,ymdt desc",conn,1,1
也还是提示同样的错误。
2011-10-29 08:16
laocaixg
Rank: 1
等 级:新手上路
帖 子:6
专家分:5
注 册:2011-10-29
得分:0 
Microsoft JET Database Engine 错误 '80040e07'

标准表达式中数据类型不匹配。

/inc/head.asp,行 87

求助高手帮忙解决一下这个问题,谢谢!


            Sql="Select city_oneid,city_twoid,city_threeid,[title],uid,[Text] From [china_data] Where mark='yes' and stop >= #"&date()&"# and adid="&id
        Else
            Sql="Select city_oneid,city_twoid,city_threeid,[title],uid,[Text] From [china_data] Where mark='yes' and stop >= '"&date()&"' and adid="&id
        End If
    Else
        Sql="Select city_oneid,city_twoid,city_threeid,[title],adid,[Text] From [news_data] Where adid="&id
        End If
(87行)Response.write(sql)
        Response.End
    Set Rs=Conn.Execute(Sql)
    If Not Rs.Eof Then




[ 本帖最后由 laocaixg 于 2011-10-29 11:57 编辑 ]
2011-10-29 08:28
scilent
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:285
专家分:1399
注 册:2011-8-9
得分:0 
改为(87行)Response.write("sql")

在没有路的地方走一条路,让别人有路可走
2011-10-29 08:41
laocaixg
Rank: 1
等 级:新手上路
帖 子:6
专家分:5
注 册:2011-10-29
得分:0 
试了一下,不行。是我把代码弄错了,应该是下面的代码:
    Else
            Sql="Select city_oneid,city_twoid,city_threeid,[title],uid,[Text] From [china_data] Where mark='yes' and stop >= '"&date()&"' and adid="&id
        End If
    Else
        Sql="Select city_oneid,city_twoid,city_threeid,[title],adid,[Text] From [news_data] Where adid="&id
    End If
(87行)Set Rs=Conn.Execute(Sql)
    If Not Rs.Eof Then
        city_oneid=Rs(0)
        city_twoid=Rs(1)
        city_threeid=Rs(2)
        WebTitle=Rs(3)&" "
        WebText=Rs(5)
        If ScriptName="show.asp" Then



[ 本帖最后由 laocaixg 于 2011-10-29 11:58 编辑 ]
2011-10-29 10:58



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-353429-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.040945 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved