SELECT
c1
,c2
FROM
-- ================================
(
SELECT
c1
, c2
-- ---------------------------------------------------------
, @rownum := @rownum +1 rownum
-- ---------------------------------------------------------
, CASE WHEN @cc1 = c1 THEN @rnum := @rnum + 1
WHEN (( @cc1 <> '' ) OR ( @cc1 <> c1 ) ) THEN @rnum := 1
END rogic
, @rnum RANKKK, @cc1 := c1
-- ---------------------------------------------------------
FROM (
SELECT 'K' c1, '003' c2
UNION ALL SELECT 'K' c1, '001' c2
UNION ALL SELECT 'K' c1, '002' c2
UNION ALL SELECT 'F' c1, '001' c2
UNION ALL SELECT 'F' c1, '002' c2
UNION ALL SELECT 'E' c1, '011' c2
UNION ALL SELECT 'E' c1, '013' c2
UNION ALL SELECT 'E' c1, '012' c2
) m
-- ---------------------------------------------------------
, (SELECT @rownum := 0, @rnum := 0,@cc1 := '' ) D
-- ---------------------------------------------------------
-- ---------------------------------------------------------
ORDER BY c1, c2 ASC
-- ---------------------------------------------------------
) mm
WHERE RANKKK = 1
|