select (@i:=@i+1) i,emp.* from emp,(select @i:=0) it

 

按部门分组并按薪资总和从大到小排序求薪资总和第二高的部门名称和薪资总和:

SELECT
  c.ename,
  c.s
FROM
  (
  SELECT
    ( @i := @i + 1 ) i,
    e.*
  FROM
    ( SELECT ename, SUM( sal ) s FROM emp GROUP BY deptno ORDER BY s DESC ) e,
    (SELECT @i := 0 ) it
  ) c
WHERE
  c.i =2;

相关文章: