统计表里记录数前3名,的SQL怎么写?
表:a
字段:ID ,name (姓名) ,k_time (日期时间
数据如下:
0001,小李,2003-11-05 06:21:19
0001,小李,2003-10-05 06:21:19
0002,小二,2003-10-05 06:21:19
0002,小二,2003-10-05 06:21:19
0002,小二,2003-10-05 06:21:19
0003,小三,2003-10-05 06:21:19
0003,小三,2003-10-05 06:21:19
0003,小三,2003-10-05 06:21:19
0004,小四,2003-10-05 06:21:19
问题一:我想根据ID 来统计表里记录数前3名的有哪些人,SQL 怎么写呢?
问题二: 有什么方法可以根据当前系统时间来判断,当前是星期几呢?我想在每周星期5做一次统计,SQL 怎么写呢?
------解决方案--------------------表名 :test
1.取前3条记录
select * from test where rownum<=3;
2.获得系统星期数
select to_char(sysdate-1,'d') from dual;
------解决方案--------------------
------解决方案--------------------有什么方法可以根据当前系统时间来判断,当前是星期几呢?我想在每周星期5做一次统计,SQL 怎么写呢?
在oracle中星期五对应的数字是 6
select *
from dual
where to_char(sysdate, 'd') = 6
------解决方案--------------------SQL code
select * from a where rownum <=3 order by id;
SELECT TO_CHAR(SYSDATE,'DAY') FROM DUAL