Irfan
Answered On : Mar 30th, 2006
Code
SELECT deptno,
sal,
dr
FROM
(SELECT deptno,
sal,
dense_rank()over(partition BY deptno
ORDER BY sal DESC) dr
FROM emp)
WHERE dr = 2
Login to rate this answer.
Code
SELECT max(salary)
FROM dept
WHERE max(salary)<
(SELECT MAX (salary)
FROM dept);
Login to rate this answer.
Code
SELECT max(sal)
FROM emp
WHERE sal NOT IN
(SELECT max(sal)
FROM emp
GROUP BY deptno)
GROUP BY deptno;

3 Users have rated as useful.
Login to rate this answer.
Code
SELECT DISTINCT d1.deptno,
e1.sal
FROM emp e1,
dept d1
WHERE 2 =
(SELECT count(DISTINCT e2.sal)
FROM emp e2,
dept d2
WHERE e2.sal >= e1.sal
AND d2.deptno = e2.deptno
AND d1.deptno = d2.deptno)
AND d1.deptno = e1.deptno
Login to rate this answer.
Bhai
Answered On : Jun 9th, 2006
Code
SELECT max(e1.sal),
e1.deptno
FROM emp e1
WHERE sal <
(SELECT max(sal)
FROM emp e2
WHERE e2.deptno = e1.deptno)
GROUP BY e1.deptno

3 Users have rated as useful.
Login to rate this answer.
Code
SELECT max(sal)
FROM
WHERE sal NOT IN
(SELECT max(sal)
FROM
GROUP BY deptno)
GROUP BY deptno;
Try this it is working
Login to rate this answer.
Code
SELECT *
FROM
(SELECT ename ,
sal,
deptno ,
rank() over (PARTITION BY deptno
ORDER BY sal DESC) max_sal
FROM emp)
WHERE max_sal= 2;
Login to rate this answer.
Code
SELECT max(sal)
FROM empwhere sal NOT IN
(SELECT max(sal)
FROM emp
GROUP BY deptno)
GROUP BY deptno

1 User has rated as useful.
Login to rate this answer.
Code
SELECT salary,
deptid
FROM emp e1
WHERE 2=
(SELECT count(DISTINCT(salary))
FROM emp e2
WHERE e1.salary<=e2.salary
GROUP BY deptid)
group by deptid
Assuming table is emp(eid,deptid,salary)
Login to rate this answer.
Code
SELECT *
FROM
(SELECT t.*,
rownum rnum
FROM
(SELECT sal
FROM employee
ORDER BY comp_dept DESC) t
WHERE rownum<2)
WHERE rnum>2
Deepika Jain
Login to rate this answer.
Code
SELECT*
FROM Emptbl e
INNER JOIN
(SELECT Dep,
MAX(salary) AS sal
FROM Emptbl
GROUP BY Dep) AS t ON t.Dep = e.Dep
WHERE e.Salary < t.sal
Login to rate this answer.
Table Name: employee
columns: employee,salary, dept
Code
SELECT MAX (e1.salary) , e1.dept
FROM employee e1
WHERE e1.salary<
(SELECT MAX (e2.salary)
FROM employee e2
WHERE e1.dept= e2.dept
GROUP BY e2.dept)
GROUP BY e1.dep
Login to rate this answer.
Code
SELECT *
FROM emp e,
(SELECT dept,
MAX(salary) AS salary
FROM emp
GROUP BY dept) e1
WHERE e1.dept=e.dept
AND e.salary=e1.salary
Login to rate this answer.
sagar
Answered On : Sep 29th, 2011
It's wrong.better to use dense_rank() function instead of rank() function
Login to rate this answer.
Mohan Rao
Answered On : Nov 3rd, 2011
Code
SELECT max(sal) ,
deptno
FROM emp e1 ,
(SELECT max(sal) e2sal ,
deptno e2dept
FROM emp
GROUP BY deptno) e2
WHERE e2.e2dept = e1.dept
AND e1.sal < e2.e2sal
GROUP BY e1.deptno
Login to rate this answer.
sharika
Answered On : Nov 24th, 2011
Code
SELECT LEVEL,max(salary)
FROM employee
WHERE LEVEL=&LEVEL NO CONNECT BY
PRIOR salary>salary
GROUP BY LEVEL;
Login to rate this answer.
Code
SELECT max(salary)
FROM emp
GROUP BY dept HAVING salary <
(SELECT max(salary)
FROM emp
GROUP BY dept)
Login to rate this answer.
srikanth
Answered On : Jan 11th, 2012
Code
SELECT deptno,
max(salary)
FROM emp
WHERE salary NOT IN
(SELECT max(salary)
FROM emp
GROUP BY deptno)
GROUP BY deptno;
Login to rate this answer.
SASI
Answered On : Apr 7th, 2012
Code
SELECT EMPNO,
ENAME,
DEPTNO,
SAL
FROM EMP E1
WHERE 1 =
(SELECT COUNT(DISTINCT(SAL))
FROM EMP E2
WHERE E1.SAL <= E2.SAL)
Login to rate this answer.
select max(salary) from dept order by dept_id desc limit 1,1
Login to rate this answer.
Ashok
Answered On : May 4th, 2012
What is the length of column in oracle?
Login to rate this answer.
select max(salary) from EMP
WHERE SALARY < (SELECT MAX(SALARY) FROM EMP where dept = Dept1) and dept = Dept1
Login to rate this answer.
select max(salary) from dept order by dept_id desc limit 1,1
Login to rate this answer.
Nazeera Jaffar
Answered On : Sep 25th, 2012
Code
SELECT min(salary)
FROM dept
WHERE salary IN ( SELECT DISTINCT top 2 salary
FROM dept
ORDER BY salary DESC)
Login to rate this answer.
Mrinal
Answered On : Dec 14th, 2012
Code
SELECT DISTINCT d1.depno,
e1.salary,e1.empid,d1.location
FROM EMPLOYEE1 e1,
dept d1
WHERE 2 =
(SELECT count(DISTINCT e2.salary)
FROM EMPLOYEE1 e2,
dept d2
WHERE e2.salary >= e1.salary
AND d2.depno = e2.Dep_No
AND d1.depno = d2.depno)
AND d1.depno = e1.Dep_No
Login to rate this answer.