使用mysql的disctinct group by查询不重复记录

2016-02-19 10:36 9 1 收藏

下面是个超简单的使用mysql的disctinct group by查询不重复记录教程,图老师小编精心挑选推荐,大家行行好,多给几个赞吧,小编吐血跪求~

【 tulaoshi.com - 编程语言 】

有个需求,一直没有解决,在google上找了半天,给出的方案没有一个能用了,最后鬼使神差搞定了。
   是这样的,假设一个表:

id   f_id    value   
1     2         a   
2     2         b   
3     5         c   
4     9         c   
5     9         a   
6     6         d  

id   f_id    value
1     2         a
2     2         b
3     5         c
4     9         c
5     9         a
6     6         d
   id是主键,f_id是外键,我需要获得不重复的外键f_id的数据,如果用group by 或者distinct很容易搞定


select f_id from table group by f_id
select distinct f_id from table
   但如果再想在结果中得到id值的话,不管怎么都会乱。比如我想在结果中用id进行排序,诸如”select distinct f_id, id from table order by id desc”完全白费。在google上看了大量的例子,发现需要在select中对id做手脚,让mysql知道除了f_id外,对id应该进行如何的操作。诸如Max, Min, Avg,Sun..都是可以的,于是变成以下的代码就搞定了……

select f_id, max(id) as id from table group by f_id order by id desc
   搞定,网上有个文章很接近答案,但是他没有”as id”,导致在我的mysql中执行结果有误,呵呵。

来源:https://www.tulaoshi.com/n/20160219/1595226.html

延伸阅读
标签: 电脑入门
在以前版本的Excel中录入数据后,使用高级筛选功能来删除重复的记录(操作比较复杂),到了Excel2007以后增加了一个删除重复项功能,来删除重复记录就显得更加容易上手了。 操作如下: 首先选中数据区中的任一单元格,然后单击数据菜单,再单击数据工具功能区中的删除重复项按钮,在弹出的删除重复项对话框选择要检查的区域,最后单击两次确定...
下面我们来看下,如何利用它来删除一个表中重复记录: 代码如下: If Exists(Select * From tempdb.Information_Schema.Tables Where Table_Name Like '#Temp%') Drop Table #temp Create Table #temp ([Id] int, [Name] varchar(50), [Age] int, [Sex] bit default 1) Go Insert Into #temp ([Id] , [Name] , [Age] , [Sex] ) Values(1,'J...
数据库结构的脚本: if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[TempA]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) drop table [dbo].[TempA] GO CREATE TABLE [dbo].[TempA] (  [id] [int] IDENTITY (1, 1) NOT NULL ,  [PositionName] [varchar] (256) COLLATE Chinese_PRC_CI_AS NULL , &nbs...
标签: excel
Excel 2007快速删除重复记录的方法 在Excel中录入数据后,我们一般用高级筛选来处理删除重复的记录,Excel 2007保留了这个功能,同时又增加了一个删除重复项按钮,使操作更加简单、灵活。 一、传统方法:使用高级筛选 步骤如下: 1.单击数据区,选中其中的任一个单元格。如果只是针对其中部分字段和记录进行筛选,可先选...
标签: MySQL mysql数据库
开发人员的噩梦——删除重复记录 想必每一位开发人员都有过类似的经历,在对数据库进行查询或统计的时候不时地会碰到由于表中存在重复的记录而导致查询和统计结果不准确。解决该问题的办法就是将这些重复的记录删除,只保留其中的一条。 在SQL Server中除了对拥有十几条记录的表进行人工删除外,实现删除重复记录一般都是写一段代码...

经验教程

814

收藏

60
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部