精华内容
下载资源
问答
  • ORACLE的字段类别说明 转帖

    千次阅读 2008-12-15 14:46:00
    ORACLE的字段类别说明CHAR固定长度字符域,最大长度可达2000个字节 NCHAR多字节字符集的固定长度字符域,长度随字符集而定,最多2000个字符或2000个字节 VARCHAR2可变长度字符域,最大长度可达4000个字符 ...

    ORACLE的字段类别说明

    CHAR固定长度字符域,最大长度可达2000个字节   
    NCHAR多字节字符集的固定长度字符域,长度随字符集而定,最多为2000个字符或2000个字节   
    VARCHAR2可变长度字符域,最大长度可达4000个字符   
    NVARCHAR2多字节字符集的可变长度字符域,长度随字符集而定,最多为4000个字符或4000个字节   
    DATE用于存储全部日期的固定长度(7个字节)字符域,时间作为日期的一部分存储其中。除非通过设置init.ora文件的NLS_DATE_FORMAT参数来取代日期格式,否则查询时,日期以DD-MON-YY格式表示,如13-APR-99表示1999.4.13   
    NUMBER可变长度数值列,允许值为0、正数和负数。NUMBER值通常以4个字节或更少的字节存储,最多21字节   
    LONG可变长度字符域,最大长度可到2GB   
    RAW表示二进制数据的可变长度字符域,最长为2000个字节   
    LONGRAW表示二进制数据的可变长度字符域,最长为2GB   
    MLSLABEL只用于TrustedOracle,这个数据类型每行使用2至5个字节   
    BLOB二进制大对象,最大长度为4GB   
    CLOB字符大对象,最大长度为4GB   
    NCLOB多字节字符集的CLOB数据类型,最大长度为4GB   
    BFILE外部二进制文件,大小由操作系统决定   
    ROWID表示RowID的二进制数据,Oracle8RowID的数值为10个字节,在Oracle7中使用的限定   
    RowID格式为6个字节   
    UROWID用于数据寻址的二进制数据,最大长度为4000个字节

    展开全文
  • [图片说明](https://img-ask.csdn.net/upload/201809/12/1536748255_631547.png)表是这样的,怎样按照委托公司分类提取对应的行导出excel表?每个excel表用委托公司命名。 我用得Navicat。只用sql可以实现吗?
  • SELECT SYSTEM,a.cnt,CONCAT(ROUND(a.cnt/b.sum *100,2),'','%') FROM ( select SYSTEM, count(SYSTEM) AS cnt from nginx_log_resource GROUP BY SYSTEM ORDER BY cnt DESC ...SELECT COU...
    SELECT SYSTEM,a.cnt,CONCAT(ROUND(a.cnt/b.sum *100,2),'','%')
    FROM 
    (
    select SYSTEM,
           COUNT(SYSTEM) AS cnt 
    FROM
           nginx_log_resource 
    GROUP BY 
           SYSTEM 
    ORDER BY 
           cnt DESC 
    )AS a,
    (
    SELECT COUNT(*) AS sum 
    FROM 
           nginx_log_resource
    ) AS b;

    这里写图片描述
    这里写图片描述

    展开全文
  • 数据库有一个表 code,里面有个点击量字段click_num和一个类别字段kind以及其它信息字段, 现在要搜出每个类别中点击量最大的那条记录,如果是10个类别,那么结果应该是10条记录, 如果最大点击量有两个相同的只要...

    http://blog.csdn.net/bushizhuanjia/article/details/6854208

     

    问题是:

    数据库有一个表 code,里面有个点击量字段click_num和一个类别字段kind以及其它信息字段,

    现在要搜出每个类别中点击量最大的那条记录,如果是10个类别,那么结果应该是10条记录,

    如果最大点击量有两个相同的只要一条。

    经过N次搜索,N次检测网上的解决SQL语句,终于找到个优雅的而且结果正确的SQL,这个是一个博客作者在MySQL的官方文档里面发现的。

    禁不住收藏了,以备后用。

    
     

     

    1. select id,kind,click_num from code as a   
    2. where  click_num=(select max(b.click_num)  
    3.                   from code as b  
    4.                   where a.kind = b.kind  
    5.                   );  

     

    特别注意:

    这个语句在SQLite上测试正常,速度很快。但是在我机器上的MySql5.0上执行后就死机了,其他版本的mysql不知道什么情况。

    上面的语句还不能满足我的第二个要求就是:如果某类别中最大点击量有两个相同的记录,只要一条。

    下面是我附加的解决办法:

    筛选,保证每个类别只有一条,(kind,id改为所有列,结果就是对应的记录了)

    
     

     

    1. select  *   
    2. from (select id,kind,click_num from code as a   
    3.                            where  click_num=(select max(b.click_num)  
    4.                                               from code as b  
    5.                                               where a.kind = b.kind  
    6.                                              )  
    7.      ) as a  
    8. group by kind  

     

     

    后续:

    结合以往的Mysql使用经验发现Mysql的一个最大问题就是在一个查询的where子句中如果包含对前面select的表的查询那么CPU占用就会飙升Mysql服务停止。可以说是自连接查询问题,不知道这是不是个bug,5.0,5.1版本都有这个问题,回头看看上面的SQL语句正好符合了这个问题,解决办法就是把子查询的表弄成一个临时表或者视图总之不能和前面的select的表是同一个表,那么问题就解决了,于是乎,对上面的SQL稍作修改就可以在Mysql上跑了。

    修改过程:

    1.建立一个视图max_click,存储的是每个类别最大的点击量

    
     

     

    1. create view max_click as select max(click_num) as click_num,kind   
    2.                          from code   
    3.                          group by kind;  

     

    2.筛选,保证每个类别只有一条记录

     

    
     
    1. select  *   
    2. from (select id,kind,click_num  
    3.       from  code  
    4.       where click_num = ( select b.click_num  
    5.                               from max_click as b  
    6.                               where code.kind = b.kind  
    7.                            )  
    8.       ) as a  
    9. group by kind;  

     

    运行正常,速度0.78秒。(表中一共23000条数据) Okay! 大功告成!

    最前面第一个SQL在MSSQL上运行不知道行不行,我想在SQLite能正常在MSSQL上应该没问题,看来Mysql需要改进的地方很多啊,同样是开源的SQLite就可以做到的,而且SQLite那么轻量级就几百KB,Mysql更应该能做到。

    3

    展开全文
  • SQL查询一个表中类别字段中最大值对应的值

    万次阅读 热门讨论 2017-01-22 15:51:14
    SQL查询一个表中类别字段中最大值对应的值 一、SQL查询一个表中类别字段中最大值对应的值(对一张表的操作): 问题:根据教师id查询checkOutAutoID最大的一条记录里的上期余额? 探索: 1.group by方法: 首先...

    SQL查询一个表中类别字段中最大值对应的值


    一、SQL查询一个表中类别字段中最大值对应的值(对一张表的操作):

    问题:根据教师id查询checkOutAutoID最大的一条记录里的上期余额?

    探索:

    1.group by方法:

    首先查询表中相同teacherID对应的checkOutAutoID的最大值:

    select MAX(checkOutAutoID) from T_CheckOut group by teacherID order by teacherID

    然后根据查出的最大值(假设查出的是3),查出对应的remainCash:

    SELECT remainCash FROM T_CheckOut WHERE checkOutAutoID=3


    合并SQL:

    SELECT remainCash FROM T_CheckOut WHERE checkOutAutoID=(select MAX(checkOutAutoID) from T_CheckOut group by teacherID order by teacherID)


    结果报错:


    解决方法:

    在子查询中加入top 1就可以了:

    SELECT top 1 remainCash FROM T_CheckOut WHERE checkOutAutoID=(select top 1 MAX(checkOutAutoID) from T_CheckOut group by teacherID order by teacherID)

    库里两条数据,运行时间0.035s。


    2.嵌套:

    select remainCash,teacherID,checkOutAutoID from T_CheckOut as a   
        where  checkOutAutoID=(select max(b.checkOutAutoID)  
                          from T_CheckOut as b  
                          where a.teacherID = b.teacherID  
                          )

    库里两条数据,运行时间0.146s,查询效率相对以上方法较低,满了5倍。


    那问题来了,我们的checkOutAutoID是唯一的,如果我们换一种想法,假设checkOutAutoID不唯一,可能我们查出的checkOutAutoID相同的记录有很多条,但是我们只要其中一条该怎么办呢?只需做一点小小的修改就OK:

    select * from
    (select remainCash,teacherID,checkOutAutoID from T_CheckOut as a   
        where  checkOutAutoID=(select max(b.checkOutAutoID)  
                          from T_CheckOut as b  
                          where a.teacherID = b.teacherID  
                          )
    )as a
    group by checkOutAutoID


    二、根据卡表中的卡号,插入学生表一条记录(卡表与学生表存在外键关联):

    insert into T_Student(cardAutoID,stuID,stuName,sex)select cardAutoID,@stuID,@stuName,@sexfrom T_Card where cardID=@cardID


    总结:

    group by方法相对嵌套来说,查询效率高,语句简单,不易出错,所以还是建议使用第一种方法。


    感谢您的阅读!





    展开全文
  • 数据库有一个表 code,里面有个点击量字段click_num和一个类别字段kind以及其它信息字段, 现在要搜出每个类别中点击量最大的那条记录,如果是10个类别,那么结果应该是10条记录, 如果最大点击量有两个相同的...
  • 字段类型与合理的选择字段类型

    千次阅读 2017-09-19 23:11:47
    MySQL 的数值数据类型可以大致划分两个类别,一个是整数,另一个是浮点数或小数。 许多不同的子类型对这些类别中的每一个都是可用的,每个子类型支持不同大小的数据,并且 MySQL 允许我们指定数值字段中的值是否...
  • Excel:Excel使用技巧经验总结之(利用Excel自带功能统计各个字段不同类别及其个数并进行图表可视化+非编程实现)图文教程之详细攻略 目录 利用Excel自带筛选功能统计各个字段不同类别及其个数并进行图表可视化...
  • 文章目录前言一、GroupingBy收集器二、使用示例2.1 准备2.2 根据单一字段分组2.3 根据Map的key的类型分组2.4 修改返回Map的value的类型2.5 修改返回自定义类型2.6 根据多个字段分组2.7 得到分组结果的平均值2.8 得到...
  • 主 题: 修改字段类型为“标识”,并设置该字段为主键的SQL语句怎么写??
  • 数据字典格式的表结构(表名,字段名,字段类型,字段长度,备注) DECLARE @tableName varchar(500) SET @tableName = '表名' SELECT one.表名,one.字段名,one.字段类型,two.column_description FROM ( select ...
  • 在数据处理中遇到一个问题:如何提取数据表中某一类别,也就是汇总多少种类。 问题很简单,有以下两种方法,个人推荐第2种。 1.直接对数据表进行透视,然后取出类别的一 df_pivot = df.pivot_table(index =...
  • 利用字段间的关系对数据进行整理后,数据只能展示的形式。在制作联动时,需要用到横行的数据排列方式,故研究该公式。具体如下图: 源数据是竖型分组排序好的数据: 需要用到的数据是这样,一级菜单在...
  • MySQL 字段类型

    千次阅读 2018-06-19 21:08:56
    数值 MySQL 的数值类型可大致划分两个类别,一个是整数,另一个是浮点数或小数。 MySQL 允许我们指定数值字段中的值是否有正负之分(UNSIGNED)或者用零填补(ZEROFILL)。INT在 MySQL 中支持的 5 个主要整数类型是 ...
  • 获取分组后取某字段最大一条记录 方法一:(效率最高) select * from test as a  where typeindex = (select max(b.typeindex)  from test as b  where a.type = b.type ); 方法二:(效率次之) select...
  • 合并‘车型’和‘日期’两个字段,中间的‘’中间衔接的字符 select 车型,日期,OILTNAME,JOBTYPE,(Concat(Concat( 车型,'日期是:'),日期)) ,作业类别,材料消费 from(.....一个表......) ...
  • 获取分组后取某字段最大一条记录 方法一:(效率最高) select * from test as a where typeindex = (select max(b.typeindex) from test as b where a.type = b.type ); 方法二:(效率次之) ...
  • 解决方案1右键单击人员分类字段包含的任意单元格→右键→字段设置→自定义→(最大值、最小值)解决方案2单击人员分类→分析→字段设置
  • SPSS数据类型:测量字段、角色字段

    千次阅读 2018-04-11 13:47:00
    一:测量字段 • 默认值。具有未知存储类型和值的数据(例如,由于其尚未被读取)将显示<默认值>。 • 连续。用于描述整数、实数或日期/时间等数字值,如范围 0 - 100 或 0.75 - 1.25。 • 分类。用于字符...
  • sql server查询字段空的记录

    千次阅读 2017-01-19 10:18:37
    查询一张用户信息表(userInfo),查询手机号(phone)空的记录,sql语句如下: select * from userInfo where phone is null; 这样在sql server里查询是可以的。 我之前是这样写的:where phone='...
  • 方法一:(效率最高)select * from test as a where typeindex = (select max(b.typeindex) from test as b where a.type = b.type );方法二:(效率次之)select a.* from test a,(select type,max(typeindex) ...
  • 一、修改字段默认值 alter table 表名 drop constraint 约束名字 ------说明:删除表的字段的原有约束 alter table 表名 add constraint 约束名字 DEFAULT 默认值 for 字段名称 -------说明:添加一个表的...
  • 按两个字段进行的分组统计

    万次阅读 2014-03-08 10:19:53
    统计出a的num3,b的num4,而我们还想统计出lb分别a和b 的记录的grade情况,比如,类别为a 的3条记录grade10的有2条,30的有1条,类似于Excel的按多个字段筛选,如何写命令呢 select lb,grade,COUNT(1)按lb...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 44,241
精华内容 17,696
关键字:

以类别为列字段