sql 查询不重复记录
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql 查询不重复记录相关的知识,希望对你有一定的参考价值。
那是因为zid相同,这些字段T_TuPian.PanelID,T_TuPian.Title,
T_TuPian.UpLoadTime,T_TuPianMingXi.PID
as
tid,
T_TuPianMingXi.Img
中有不同的,所以不能合并成一行,要么你只查zid和ClassID两个字段,
SELECT
distinct(T_TuPian.PID)
as
zid,T_TuPian.ClassID
FROM
T_TuPian
left
JOIN
T_TuPianMingXi
ON
T_TuPian.PID
=
T_TuPianMingXi.ClassID
where
T_TuPian.PanelID=1
and
T_TuPian.ClassID=1
order
by
UpLoadTime
desc 参考技术A SQL查询不重复记录,操作如下:
1、假如要查询t1表中name字段中所有的姓名,并去除重复。
2、可以使用如下语句:
SELECT DISTINCT name FROM t1;3、其中DISTINCT是去重功能。
SQL查询满足两个条件的重复记录只显示2条记录的方法
图1
图2
SQL查询满足两个条件的重复记录只显示2条记录的方法,如图1,条件1:QB列前8位数一样,条件2:name内容一样,只显示符合条件的两条.要达到的目的如图2
其次,需要合并重复的资料,即group by a ;
最后,只显示2条记录,即top 2;
整条sql就是:
select top 2 * from table where a=b and c=d group by a;
上面是a字段有重复的情况,若多个字段有重复,则:
select top 2 * from table where a=b and c=d group by a,b,c; 参考技术A
sqlserver写法
select t.xh,t.qb,t.name,t.type,t.dwfrom
(select 表名.*,row_number() over (partition by substring(qb,1,8),name order by xh desc) rn from 表名) t
where rn<=2
oracle的话substring(qb,1,8)改成substr(qb,1,8),其他数据库另说
本回答被提问者采纳 参考技术B 只以用游标来做,单纯的SQL语句无法实现。以上是关于sql 查询不重复记录的主要内容,如果未能解决你的问题,请参考以下文章