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

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

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

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

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

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

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)

用如下语句,查出符合条件的数据后,只取第一行: 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 top 1 * from 表名 where (后加你查询结果的限制条件)

可以实现的,SQL数据库是2005以上的吗?是的话。语句: SELECT B = CASE WHEN NUM = 1 THEN B ELSE '' END,C,D FROM (SELECT C,D,NUM = ROW_NUMBER() OVER(PARTITION BY B ORDER BY B DESC) FROM TABLENAME) T

最大的一条: select name,time from table where time in(select name,max(time) from table group by name)

网站地图

All rights reserved Powered by www.qnmk.net

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