www.qnmk.net > sql根据某一个字段重复只取第一条数据

sql根据某一个字段重复只取第一条数据

select AdviceName,max(authName_1) as authName_1 from table group by AdviceName 说明: 因为你只选择这1个列作为相同条件列,所以我分组条件就这样写的 因为你要取第一个人名的话,max就OK了 觉得好,就请采纳

以你上面的数据要求,用distinct 就可以实现,select distinct ID,TM,DATE from table,还有其他它分组等一些方式,你可以研究一下

使用分析函数row_number() over (partiion by ... order by ...)来进行分组编号,然后取分组标号值为1的记录即可。目前主流的数据库都有支持分析函数,很好用。 其中,partition by 是指定按哪些字段进行分组,这些字段值相同的记录将在一起编号...

以你上面的数据要求,用distinct 就可以实现,select distinct ID,TM,DATE from table,还有其他它分组等一些方式,你可以研究一下

用如下语句,查出符合条件的数据后,只取第一行: select * from table_name where 条件1 and 条件2 and rownum=1;

检索结果有漏掉?请楼主举例 我用联合查询的例子,楼主也可参考一下 SELECT a.Code, a.Name FROM 表A as a right join (select min(ID) as ID from 表A where Name like '%手机%' group by Code) as b on a.ID = b.ID order by len(a.Name) asc ...

select 字段1,字段2,字段3,字段4 from A where 字段1 in (select min(字段1) from A t on A.字段 2=t.字段2) order by 字段1 即可以上功能,经过sql 2000/2005/2008完美测试

可用group by……having来实现。 可做如下测试: 1、创建表插入数据: create table test(id int,name varchar(10))insert into test values (1,'张三')insert into test values (2,'李四')insert into test values (3,'张三')insert into test va...

那就用distinct函数,只取出重复的唯一记录就可以了。 sql:select distinct(* ) from tablename ; 备注:通常没有这么用的,因为一般表都有主键,或者时间字段,不会出现重复,所以一般针对某个特定字段distinct意义更大些。 sql:select distin...

WITH t AS (SELECT areaId FROM 表 GROUP BY areaId HAVING COUNT(areaId) > 1) SELECT * FROM 表 WHERE ReserverState = 'run' AND areaId IN(SELECT areaId FROM t) UNION ALL SELECT * FROM t WHERE areaId NOT IN (SELECT areaId FROM t)

网站地图

All rights reserved Powered by www.qnmk.net

copyright ©right 2010-2021。
www.qnmk.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com