Možda je olakšavajuća okolnost što je broj grupa zakucan na četiri.
Bilo bi zgodno da može, ako ne prebacujem rešenje na aplikativni nivo ... mada bi ovako bilo optimalno i elegantno.
Očekivani rezultat za date test podatke je:
Code:
1 2 3 4
--------------------------------------------------
2011-01-01 2011-01-01 2011-01-01 2011-01-01
2012-01-01 2012-01-01 2012-01-01 2012-01-01
2013-01-01 2013-01-01 2013-01-01 2013-01-01
2014-01-01 2014-01-01 2014-01-01 2014-01-01
1 2 3 4
--------------------------------------------------
2011-01-01 2011-01-01 2011-01-01 2011-01-01
2012-01-01 2012-01-01 2012-01-01 2012-01-01
2013-01-01 2013-01-01 2013-01-01 2013-01-01
2014-01-01 2014-01-01 2014-01-01 2014-01-01
Tabela i data:
Code:
CREATE TABLE `termini` (
`ID` int(11) unsigned NOT NULL AUTO_INCREMENT,
`GrupaID` int(10) unsigned NOT NULL,
`Datum` date NOT NULL,
PRIMARY KEY (`ID`),
KEY `GrupaID` (`GrupaID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
INSERT INTO `termini` (`ID`, `GrupaID`, `Datum`) VALUES
(1, 1, '2010-01-01'),
(2, 2, '2010-01-01'),
(3, 3, '2010-01-01'),
(4, 4, '2010-01-01'),
(5, 1, '2011-01-01'),
(6, 2, '2011-01-01'),
(7, 3, '2011-01-01'),
(8, 4, '2011-01-01'),
(9, 1, '2012-01-01'),
(10, 2, '2012-01-01'),
(11, 3, '2012-01-01'),
(12, 4, '2012-01-01'),
(13, 1, '2013-01-01'),
(14, 2, '2013-01-01'),
(15, 3, '2013-01-01'),
(16, 4, '2013-01-01'),
(17, 1, '2014-01-01'),
(18, 2, '2014-01-01'),
(19, 3, '2014-01-01'),
(20, 4, '2014-01-01');
CREATE TABLE `termini` (
`ID` int(11) unsigned NOT NULL AUTO_INCREMENT,
`GrupaID` int(10) unsigned NOT NULL,
`Datum` date NOT NULL,
PRIMARY KEY (`ID`),
KEY `GrupaID` (`GrupaID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
INSERT INTO `termini` (`ID`, `GrupaID`, `Datum`) VALUES
(1, 1, '2010-01-01'),
(2, 2, '2010-01-01'),
(3, 3, '2010-01-01'),
(4, 4, '2010-01-01'),
(5, 1, '2011-01-01'),
(6, 2, '2011-01-01'),
(7, 3, '2011-01-01'),
(8, 4, '2011-01-01'),
(9, 1, '2012-01-01'),
(10, 2, '2012-01-01'),
(11, 3, '2012-01-01'),
(12, 4, '2012-01-01'),
(13, 1, '2013-01-01'),
(14, 2, '2013-01-01'),
(15, 3, '2013-01-01'),
(16, 4, '2013-01-01'),
(17, 1, '2014-01-01'),
(18, 2, '2014-01-01'),
(19, 3, '2014-01-01'),
(20, 4, '2014-01-01');