oracl数据库sql语句怎么查询工资最低的两名员工编号,姓名,工资等信息。

问题描述

oracl数据库sql语句怎么查询工资最低的两名员工编号,姓名,工资等信息。

查询每个部门工资最低的两个员工编号,姓名,工资,等信息。关键是工资最低的两名员工

解决方案

 SELECT
    *
FROM
    (
        SELECT
            bumen,
            price,
            ROW_NUMBER () OVER (
                PARTITION BY bumen
                ORDER BY
                    bumen,
                    price DESC
            ) rn
        FROM
            table1
        WHERE
            bumen IN (
                SELECT
                    bumen
                FROM
                    table1
                GROUP BY
                    bumen
            )
    )
WHERE
    rn < 3

解决方案二:

我改了一下上面的代码,加了一个表的别称:

SELECT *
FROM ( SELECT a.* ,
ROW_NUMBER() OVER ( PARTITION BY 部门 ORDER BY 工资 ASC ) rn
FROM 表 a
) a
WHERE rn <= 2

解决方案三:

select top(2) from (select * from emp order by salary desc)

解决方案四:

 select * from (
select a.*, row_number()over(partition by 部门 order by 工资)  rn from 表
) where rn<=2

解决方案五:

select * from emp order by salary asc, 他们写的好像都是sqlserver的, 用这条语句查询最前面两天条就好了。

解决方案六:

select * from emp order by salary asc limit 2好像就可以

时间: 2024-11-01 21:21:53

oracl数据库sql语句怎么查询工资最低的两名员工编号,姓名,工资等信息。的相关文章

sql语句怎么查询数据库最新两天的数据

问题描述 sql语句怎么查询数据库最新两天的数据 我不知道我的数据库最新数据是哪天的,我要查询最新两天的所有数据,sql语句改怎么写,怎么写后面的 解决方案 http://blog.csdn.net/hanjingjingpan/article/details/6022014 如果是48小时内 select * from info where DateDiff(hh,datetime,getDate())<48 如果是2天内 SELECT * FROM A where datediff(d,da

MySQL数据库SQL语句的C++ ODBC接口类测试结果 (转载)

c++|mysql|odbc|数据|数据库|语句 发信人: engineer (剑胆琴心~还是得走,sigh...), 信区: Linux 标  题: MySQL数据库SQL语句的C++ ODBC接口类测试结果 (转载) 发信站: BBS 水木清华站 (Mon Aug  9 18:03:47 1999)   [ 以下文字转载自 Database 讨论区 ] [ 原文由 engineer 所发表 ]         MySql数据库SQL语句的C++ ODBC接口类测试结果            

jdbc 动态sql语句拼接 查询不出结果

问题描述 jdbc 动态sql语句拼接 查询不出结果 public List queryByCondition(String command String description) { // message列表 List messageList = new ArrayList(); try { // 加载驱动 Class.forName(""com.mysql.jdbc.Driver""); // 数据库的连接 Connection conn; conn = Dri

textbox-求大神指导C#数据库SQL语句updatedata

问题描述 求大神指导C#数据库SQL语句updatedata String SQLString = string.Format(" update {0} set 坐标X/m= {1},坐标Y/m={2},高程H/m={3} where 点号='{4}'",str,int.Parse(textBox1.Text),int.Parse(textBox2.Text),int.Parse(textBox3.Text),textBox4.Text);///设置sql查询语句 OleDbDataA

在java类中写带中文的sql语句,查询结果为空

问题描述 在java类中写带中文的sql语句,查询结果为空 String query="select * from Restaurant where Restaurant_name='紅樹林';"; rs=stm.executeQuery(query); 这是我在封装好的数据库类中写的sql语句,查询结果为空(rs.next() 为false ) 如果改用id查询,即: String query="select * from Restaurant where Restaura

sql优化-mysql数据库sql语句优化,求大神!!!!

问题描述 mysql数据库sql语句优化,求大神!!!! SELECT DISTINCT uid, level,username,ansnum FROM test WHERE level=100 GROUP BY uid ORDER BY ansnum DESC LIMIT 12; uid.ansnum均已建索引,主要是GROUP BY uid导致特别慢,如何提速??? 解决方案 MySQL数据库SQL语句优化原则 解决方案二: 根据你的查询需求,没有特别好的优化办法.注意group by 和o

如何在 Linux 上用 SQL 语句来查询 Apache 日志

如何在 Linux 上用 SQL 语句来查询 Apache 日志 Linux 有一个显著的特点,在正常情况下,你可以通过日志分析系统日志来了解你的系统中发生了什么,或正在发生什么.的确,系统日志是系统管理员在解决系统和应用问题时最需要的第一手资源.我们将在这篇文章中着重讲解 Apache HTTP web server 生成的 Apache access 日志. 这次,我们会通过另类的途径来分析 Apache access 日志,我们使用的工具是 asql.asql 是一个开源的工具,它能够允许

sql 查询指定日期时间记录sql语句与查询实例

sql 查询指定日期时间记录sql语句与查询实例  首先创建一个表abc结构如下    CREATE TABLE `cc`.`loup` (  `id` INT( 4 ) NOT NULL AUTO_INCREMENT ,  `datetimes` INT( 4 ) NULL ,  `ipaddress` VARCHAR( 20 ) NULL ,  PRIMARY KEY ( `id` )  ) ENGINE = MYISAM    再批量插入数据    INSERT INTO `loup` (

sql语句连接查询的问题

问题描述 我现在有两张表,一张target目标表,一张费用表,目标表一个用户每个月就一条记录,比如设定的各个要完成的目标,费用表可能一个月有好几条记录,记录已完成的数据,表之间的关联用用户的ID,现在遇到问题,想在一个列表中展示目标数据和已完成数据,目标表有目标月份日期字段,费用表有生效日期字段目标月份 目标标保 已完成标保 目标佣金 已完成佣金 目标件数 已完成件数2012-11 1000 500 200000 2000 500 50我现在sql语句如下 select SALES_CODE,t