当做数据查询时需要分组,因为只有一列不同,同时还需要保留不同的列,使其不能受到影响。这时用 distinct 和 group by 就不能解决问题了。
就需要用到 临时表 来做到想要的结果。
if object_id('tempdb..#temp_table') is not null
Begin
drop table #temp_table
End
//㈡ 把从数据表中查出的数据放到临时表中 。注意此处 identity 的使用 ,它是一个自增的变量,可以为每一列分一个由大到小的 int 型值 。
//因为用到了 order by 排序,因此在第三步时用 min()聚合函数就会取出需要的那条记录。
select top 60 identity(int,1,1) id,name,factoryname,catalogname,file_name,img2 into #temp_table
from tableName order by view_count desc
// ㈢ 在这就可以用 min(id) 聚合函数来取出结果集
select top 6 * from #temp_table where id in(
select min(id) from #temp_table group by factoryname )
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。