日期:2014-05-17  浏览次数:20546 次

重复数据只显示一条,推荐的产品排在前面(至多排8条),一个SQL问题,大神看看,用distinct爆卡,也不知道改怎么索引处理了
重复数据只显示一条,推荐的产品排在前面(至多排8条推荐的产品),一个SQL问题,大神看看,用distinct爆卡,也不知道改怎么索引处理了,表名:Smhan_Spin,属性:taobaourl(淘宝客链接代码)。。

<%
dim rs '商品
set rs=server.CreateObject("adodb.recordset")
if trim(request("tag"))<>"" then
sql="select  taoburl from [Smhan_Spin]  where lanmu='"&request("tag")&"' order by tuijian "
else
sql="select  taoburl from [Smhan_Spin] order by tuijian "
end if
rs.open sql,conn,1,1
%>
<div id="ItemBox">
<ul>
<%
do while not rs.eof and i<rs.pagesize
%>  
<li>
<div data-plugin="autoitem">
<a href="<%=rs("taoburl")%>"><%=rs("taoburl")%></a>
</div>
</li>
<%
rs.movenext
i=i+1
loop
%>
</ul>
</div>
<%
rs.close
set rs=nothing
%>
实在是没辙了,大家看看吧。。。

------解决方案--------------------
围观
------解决方案--------------------
--用row_number()产生行号
select *
from 
(
select *,rn=row_number() over(partition by 产品 order by id)
from 表名
)t
where rn=1


表示重复数据只取第一行
------解决方案--------------------
重复数据只显示一条

这个按照哪个字段,来区分是重复的数据呢
------解决方案--------------------
如果是2005及以后的版本,可以用下面的row_number来分页:


declare @page_size int;
declare @page_num int;

--比如:每页10条记录
set @page_size = 10;

--比如:先取第1页
set @page_num = 1;

select *
from
(
select *,   

       (row_number() over(partition by 区分重复的字段 order by @@servername) - 1) / @page_size as pagenum
from sys.objects
)t
where pagenum = @page_num - 1

------解决方案--------------------
引用:
 测试地址是:www.yunbaicai.com,不是广告贴啊,是真心难住了。。。好急。

不卡呀。分页这种事也可以到网上找找分页控件,呵呵。