请问在一个数据库,记录遇到相当的数据时怎样才能只显示一条?
<%
set class2=conn.execute("select types2 from content order by id desc")
do while (not class2.EOF)
response.write class2("types2")
class2.MoveNext
loop
%>
在字段types2里的数据如下:
警苑文化
警苑文化
警苑文化
警苑文化
法律法规
法律法规
法律法规
法律法规
工作动态
工作动态
工作动态
工作动态
工作动态
工作动态
工作动态
工作动态
工作动态
工作动态
工作动态
春季森林防火的紧急通知
森林火灾火警处置程序
掌握防火扑火常识
责任制度
基础建设
记录输出后,里面的数据全出来了。我现在要将相同的记录去掉,只留一条。这样输出:
警苑文化
法律法规
工作动态
春季森林防火的紧急通知
森林火灾火警处置程序
掌握防火扑火常识
责任制度
基础建设
请问有什么办法吗?
问题点数:30、回复次数:13Top
1 楼roy66(我要堕落成天使)回复于 2005-06-02 15:59:59 得分 5
select distinct types2 from content order by id descTop
2 楼poonzsp(怒放的生命)回复于 2005-06-02 16:26:21 得分 0
同意楼上
Select distince 字段 From 表Top
3 楼jdrg535(废柴)回复于 2005-06-02 16:30:40 得分 5
set class2=conn.execute("select types2 from content group by types2 order by id desc")Top
4 楼xiaxin(Java)回复于 2005-06-02 16:45:24 得分 0
我用 select distinct 后,IE呈现死机状态,而且电脑速度奇慢。不得不重启。我开始以为是网络或别的什么原因。但把distinct去掉后就一切正常了。这是怎么回事?我连试了三次,就重启了电脑三次。一运行select distinct 就在内存中发现dllhost.dll这个文件狂吞内存,页面运行得越久,它所占的内存越大。。。
我的数据库是access, 而且SQL语句后面还跟有条件语句,上面的我只是把多余的去掉了。实际语句为:
set class2=conn.execute("select distinct types2 from content where types1 like '%"&request("types1")&"%' order by id desc")
是不是distinct不适合ACCESS数据库?Top
5 楼dcwang(帆洲)回复于 2005-06-02 16:53:11 得分 0
types2前加distinct不行?
你机子什么配置啊?
偶C633的都可以用的也.Top
6 楼xiaxin(Java)回复于 2005-06-02 16:55:07 得分 0
这是怎么回事啊,我用set class2=conn.execute("select types2 from content group by types2 order by id desc")也一样。是 dllhost.exe 文件狂占内存。一个文件占到了六十多兆。Top
7 楼xiaxin(Java)回复于 2005-06-02 16:57:17 得分 0
我的配置是 赛扬1.7GHz 256兆内存,集成显卡。
我想可能不是配置的问题,是IIS的问题。Top
8 楼bbp_fish(新鲜比比鱼)回复于 2005-06-02 17:37:53 得分 0
试试这样:
<%
set class2=conn.execute("select distince types2 from content order by id desc Group by types2")
do while (not class2.EOF)
response.write class2("types2")
class2.MoveNext
loop
%>Top
9 楼xiaxin(Java)回复于 2005-06-02 18:30:24 得分 0
还是不行,一运行就非常慢。dllhost.exe 狂占内存,如果关得慢点,就死机了。我也不知道问题出在哪?
我问了一同事,他说用数组把所有的记录装进一个数组,再在这个数组里将各个记录进行比较,把记录一条条筛选出来再重新组合。可算法我不大会写,请问谁会写吗?就是将一串数用两个循环进行嵌套,把相同的去掉,只留下一个。
<%
set count1=conn.execute("select count(types2) from content")
all=count1(0)
count1.Close
set count1=nothing
set class2=conn.execute("select types2 from content where types1 like '%"&request("types1")&"%' order by id desc")
for i=1 to all
response.write class2("types2")
class2.movenext
next
class2.Close
set class2=nothing
%>Top
10 楼bbp_fish(新鲜比比鱼)回复于 2005-06-02 19:06:30 得分 0
<%
set class2=conn.execute("select types2 from content order by id desc Group by types2")
do while (not class2.EOF)
temp1 =""
temp2 = class2("types2")
if temp1 <> temp2 then
response.write temp2
temp1 = temp2
end if
class2.MoveNext
loop
%>
Top
11 楼bbp_fish(新鲜比比鱼)回复于 2005-06-02 19:07:44 得分 20
上面发错了因该改成以下
<%
set class2=conn.execute("select types2 from content order by id desc Group by types2")
temp1 =""
do while (not class2.EOF)
temp2 = class2("types2")
if temp1 <> temp2 then
response.write temp2
temp1 = temp2
end if
class2.MoveNext
loop
%>
Top
12 楼xiaxin(Java)回复于 2005-06-03 09:36:29 得分 0
楼上的,终于可以了。多谢了,不过。要去掉Sql语句中的Group by types2,否则一运行又会死机。Top
13 楼bbp_fish(新鲜比比鱼)回复于 2005-06-05 17:32:44 得分 0
建议给 types2 字段建立索引看看。Top




