对数据库表中的某一字段去重分组排序

1、问题背景

   某数据库t_tab_ab中有两个字段a和b,如下所示:

   查询前:                 查询后:

   a     b                  a     b

   1     2                  1     2

   1     3                  2     3

   1     4                  3     4

   1     5

   2     3

   2     4

   2     5

   3     4

   3     5

2、解决思路

   通过查询a和b中的最小值,对a进行分组和排序

   select t.a,min(t.b) from t_tab_ab group by t.a order by t.a

3、实现结果

   a     b

   1     2

   2     3

   3     4

对数据库表中的某一字段去重分组排序,布布扣,bubuko.com

时间: 2024-12-25 19:17:39

对数据库表中的某一字段去重分组排序的相关文章

用Navicat更新数据库表中的某一字段

最近需要在A表中根据B表的某一值来进行排序输出,无奈SQL技术不够,不知道怎么连接才能达到目标,于是想到在A表中添加B表的目标值字段,然后通过更新A表从而使A表有目标字段,进而进行排名....够不够纠结 废话少说直接上图文教程: 第一步,先用navicat把B表的目标字段导出文件,我这里只有两个字段所以除了键值,剩下的就是目标字段了. 首先打开表对话框点击导出: 然后 选择全部记录 - 文本文件txt - 选择需要导出的列: 然后一直下一步,最后开始.导出成功. 在A表中设计表,添加栏位,这里我

判断数据库表中是否存在某个字段

if exists (select * from syscolumns where id=object_id('表名') and name='字段名') print '有' else print '无'

【半转贴】解决SQL SERVER 2008数据库表中修改字段后不能保存

SQL SERVER 2008数据库表中修改字段后不能保存,这种情况将阻止保存要求重新创建表的更改一项的钩钩去掉就OK了 找到工具>选项>Designers>表设计器和数据库设计器 然后将“阻止保存要求重新创建表的更改” 的这一项的钩钩去掉就OK了 图片来自:http://www.jb51.net/article/42727.htm 刚好碰到这个问题,用的就是上面的方法解决的 [半转贴]解决SQL SERVER 2008数据库表中修改字段后不能保存

一、数据库表中字段的增删改查,二、路由基础.三、有名无名分组.四、多app共存的路由分配.五、多app共存时模板冲突问题.六、创建app流程.七、路由分发.八、路由别名,九、名称空间.十、反向解析.十一、2.x新特性.十二、自定义转换器

一.数据库表中字段的增删改查 ''' 直接在modules中对字段进行增删改查 然后在tools下点击Run manage.py Task执行makemigrations和migrate 注意在执行字段的删除过程中需不需要对数据进行备份 ''' 二.路由基础 ''' # url中含有四个参数 # url(regex, view, kwargs=None, name=None) # 正则路径 视图函数地址 默认关键字参数(了解) 路由别名 # r'index' 只要请求中含有index都可以匹配成

FineUI之使用SQL脚本从数据库表中生成相应的输入控件

在WEB开发时,经常需要依据数据库表中的字段建立相应的输入控件,来获取输入的数据.每次都需要按字段来敲,显然太低效,而且容易出错.这里提供一个SQL脚本生成相应输入控件的方法. USE DBDemo DECLARE @TEMP_TABLE_NAME NVARCHAR(512) DECLARE @WIDTH NVARCHAR(50) SET @TEMP_TABLE_NAME='Stuff' SET @WIDTH='200' SELECT '<f:'+TOKEN+' runat="server

将Hive统计分析结果导入到MySQL数据库表中(三)——使用Hive UDF或GenericUDF

前面我分别介绍了两种Hive将分析结果导入到MySQL表的两种方式:Sqoop导入方式和使用Hive.MySQL JDBC驱动,现在我介绍第三种,也是使用比较多的方式--使用Hive 自定义函数(UDF或GenericUDF)将每条记录插入到数据库表中. 一.使用UDF方式 使用UDF方式实现比较简单,只要继承UDF类,并重写evaluate方法即可 1.编写实现类 package com.gxnzx.hive.udf; import org.apache.hadoop.hive.ql.exec

MYSQL 表中汉字写入或字段赋值时乱码情况排误

-- 当修改字段值,或是直接写入时,汉字变成乱码情况 ,[可注意一下数据库名,记得修改] -- 当字符顺序对汉字不兼容时,可能直接导致乱码情况发生. 最好做到库.表.字段(字符类型)排序规则是否一致 -- eg.在某库下建了临时表没有指定字符排序规则,下游会使用时,将临时表中的str字段值赋值给另外一个库表,可能会出现乱码 -- 未指定排序建表时,则表的排序规则是其库的排序规则 -- 1. 库级别 SELECT * -- DEFAULT_CHARACTER_SET_NAME DEFAULT_CO

SQL Server 判断表中是否存在某字段

原文:SQL Server 判断表中是否存在某字段 功能:判断表中是否存在某字段,若不存在,则新增该字段 语句: IF NOT EXIST (SELECT 1 FROM [DATABASE].SYS.SYSCOLUMNS WHERE ID=OBJECT_ID([DATABASE].[SCHEMA].[TABLENAME]) AND NAME='COLUMN_NAME') ALTER TABLE [TABLENAME] ADD [COLUMN_NAME] [COLUMN_TYPE] p.s. 之前

FineUI之使用SQL脚本从数据库表中生成对应的输入控件

在WEB开发时.常常须要根据数据库表中的字段建立对应的输入控件,来获取输入的数据.每次都须要按字段来敲,显然太低效.并且easy出错.这里提供一个SQL脚本生成对应输入控件的方法. USE DBDemo DECLARE @TEMP_TABLE_NAME NVARCHAR(512) DECLARE @WIDTH NVARCHAR(50) SET @TEMP_TABLE_NAME='Stuff' SET @WIDTH='200' SELECT '<f:'+TOKEN+' runat="serv