数据库强势操作

前言:
真的是差点没绕死我!脑细胞都不够用了

查询登陆过的人数 SELECT COUNT() FROM SYS_L_LOGIN where LOGOUT_TIME is NULL; SELECT COUNT() FROM SYS_L_LOGIN where LOGOUT_TIME is not NULL;

查询登陆的时间 SELECT LOGOUT_TIME FROM SYS_L_LOGIN where LOGOUT_TIME is not NULL; 1 查询这个表的全部 SELECT * FROM SYS_L_LOGIN;

2 这个是查询表空间的详细信息 Select * From Dba_Tablespaces;

只查询表空间名 Select TABLESPACE_NAME From Dba_Tablespaces;

3 SELECT * FROM WHGH_DATA;

4 查询这个表空间下的所有表名 select TABLE_NAME,TABLESPACE_NAME from dba_tables where TABLESPACE_NAME=’WHGH_DATA’;

5 查询人数的 默认升序排列 select LOGOUT_TIME,sum() people from SYS_L_LOGIN group by LOGOUT_TIME order by people;

6, 这样会提取到重复的数据 也就是会累计一个用户一天的重复登陆次数 select day LOGOUT_TIME,sum(USER_ID) people from (Select DISTINCT to_date(LOGOUT_TIME,’yyyy-MM-dd’) day,USER_ID from SYS_L_LOGIN )group by day order by people;

7 为了不提取重复的数据 select rownum,day,USER_ID from ( Select to_date(LOGOUT_TIME,’yyyy-MM-dd’) day,USER_ID from SYS_L_LOGIN )group by day,USER_ID; 因为group的时候不能使用rownum 无奈之举啊 用了三层嵌套 后来又加了一层

8 第一层我需要提取一下日期 第二层 我将用户和时间一组 这样还是会有重复的数据,所以我就只取了名称,而没有计数,这样就只默认有组名 第三层 在此基础上,我进行了编号 第四层的基础上,我针对日期进行了计数 select day LOGOUT_TIME,sum(rownum) people from (select rownum ,day,USER_ID from (select day,USER_ID from ( Select to_date(LOGOUT_TIME,’yyyy-MM-dd’) day,USER_ID from SYS_L_LOGIN )group by day,USER_ID))group by day order by people;

9 这是在oracle中,提取日期的方法 Select to_date(LOGOUT_TIME,’yyyy-MM-dd’) from SYS_L_LOGIN;

10 这是在mysql中的提取方法 Select CONVERT(varchar(30),LOGOUT_TIM,20) day,USER_ID from SYS_L_LOGIN

11.rownum和rownum() 编好用的

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值