/* AKA DJPW */

SELECT * FROM skupiny
JOIN
	(

		SELECT 
		sk.pismeno, 
		(
			select id
			from   skupiny s
			WHERE s.skupina = sk.pismeno
			order  by id desc
			LIMIT 0, 1
		) hranice 
		FROM skupiny_kategorie sk
		
	) tmp ON tmp.pismeno = skupiny.skupina 
			AND skupiny.id >= tmp.hranice -- nebo >= IFNULL(h.hranice, skupiny.id)
			
			
			
/* AKA DJPW, having funguje i na nezgrupovane? */
select s.*,
       @n := @n * (@last_idk = s.skupina) + 1 n,
       @last_idk := s.skupina k
from   skupiny s, (select @n := 0, @last_idk := '') t
having n <= 5
order  by s.skupina, s.id desc


/* AKA 2# */
SELECT id, skupina, RANK
FROM
(

  SELECT
    id, skupina,
    IF( @prev <> skupina, 
        @rownum := 1, 
        @rownum := @rownum+1 
      ) AS `rank`,
    @prev := skupina
  FROM skupiny
  JOIN (SELECT @rownum:=NULL,@prev:=0) AS r
  ORDER BY id DESC, skupina
  
) tmp WHERE tmp.rank <= 2
ORDER BY skupina, id DESC



/*
-- Exportování struktury pro tabulka sandbox.skupiny
CREATE TABLE IF NOT EXISTS `skupiny` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `skupina` varchar(50) DEFAULT NULL,
  `cislo` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=16 DEFAULT CHARSET=utf8mb4;

/*!40000 ALTER TABLE `skupiny` DISABLE KEYS */;
INSERT INTO `skupiny` (`id`, `skupina`, `cislo`) VALUES
	(1, 'A', 1),
	(2, 'A', 2),
	(3, 'A', 3),
	(4, 'A', 4),
	(5, 'A', 5),
	(6, 'B', 10),
	(7, 'B', 20),
	(8, 'B', 30),
	(9, 'B', 40),
	(10, 'B', 50),
	(11, 'C', 100),
	(12, 'C', 200),
	(13, 'C', 300),
	(14, 'C', 400),
	(15, 'C', 500);
/*!40000 ALTER TABLE `skupiny` ENABLE KEYS */;

-- Exportování struktury pro tabulka sandbox.skupiny_kategorie
CREATE TABLE IF NOT EXISTS `skupiny_kategorie` (
  `id` int(11) DEFAULT NULL,
  `pismeno` varchar(50) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4;

-- Exportování dat pro tabulku sandbox.skupiny_kategorie: 3 rows
/*!40000 ALTER TABLE `skupiny_kategorie` DISABLE KEYS */;
INSERT INTO `skupiny_kategorie` (`id`, `pismeno`) VALUES
	(1, 'A'),
	(2, 'B'),
	(3, 'C');
/*!40000 ALTER TABLE `skupiny_kategorie` ENABLE KEYS */;