Mysql,重复字段只取其中一行】的更多相关文章

Mysql,重复字段只取其中一行 格式 : select 字段 from [表] where 其他字段 in (select 函数(其他字段) from [表] group by 相同字段) 示例如下: 从user表中,取出 user_name字段相同的记录中,id最大的那一行数据. select id,user_name from user where id in (select max(id) from user group by user_name )…
如何用SQL排除重复结果只取字段最大值的记录?要求得到的结果(即是PID相同的记录只取ID值最大的那一条). select * from [Sheet1$] a from [Sheet1$] where PID=a.PID and ID>a.ID) select a.* from [Sheet1$] a inner join (select PID,max(ID) as max_id from [Sheet1$] group by PID) b on a.PID=b.PID and a.ID=b…
项目需要筛选出不重复数据,以前没有做过,第一反应就是利用distinct处理,但是弄了好久也没搞出来,大家有知道的望告知下. 这次筛选没有使用distinct ,是利用group by ,利用id为唯一标示符(自增长),对按user进行排列,然后取重复项最小id(非重复项直接取唯一id),并以此id为条件查询,从而去除重复的数据. 数据格式为: 使用语句如下: select * from tbl_DPImg where ID in (select min(ID) from tbl_DPImg g…
select * from table_a where id in (select min(id) from table_a group by a) )) SUBSTRING_INDEX(cids,',',1))截取字符串 group by 按照什么分组 select min(id) from table_a group by a 根据a来分组找出最小的id…
SELECT * FROM tab_init WHERE id IN ( --根据Data分类获取数据最小ID列表 select max(id) from tab_init group by a,b ) 先找出重复数据的 最大的Id ( group by 后面可跟多列, 根据规则找到重复数据), 取出 id 最大或最小的 Id, 然后使用 in查询,就可以得到不重复的数据…
1.SQL SELECT DISTINCT 语句 在表中,可能会包含重复值.这并不成问题,不过,仅仅列出不同(distinct)的值. 关键词 DISTINCT 用于返回唯一不同的值. 语法: SELECT DISTINCT 列名称 FROM 表名称 使用 DISTINCT 关键词 1 SELECT DISTINCT Company FROM Orders 2.子查询限制返回结果 1 2 3 4 5 6 7 8 SELECT * FROM TestData  WHERE id IN  (  --…
select s.*  from (     select *, row_number() over (partition by PersonnelAccount order BY PersonnelID) as group_idx      from AUX_SpecialPersonnel ) swhere s.group_idx > 1…
方法一 DELETE FROM A WHERE `name` in ( SELECT a.name FROM( SELECT name FROM A a GROUP BY name HAVING COUNT(`name`)>1 )a) AND id NOT IN( SELECT b.mid FROM (SELECT MAX(`id`) AS mid FROM A b GROUP BY `name` HAVING COUNT(`name`)>1)b) ; 方法二 DELETE FROM A WH…
--方法一 select * from tb_supply where rowid=any(select max(rowid) from tb_supply group by phone_id) --方法二 select * from tb_supply where rowid in (select max(rowid) from tb_supply group by phone_id)…
  要求:获得按table1_id分组,并且age最大的记录信息,即2.3.5条     方法一: select * from (select * from table2 order by age desc) as a group by a.table1_id   方法二: select a.* from table2 as a where age = (select max(age) from table2 where a.table1_id=table1_id)   方法三: select…