[ Zack0_45 @ 19.04.2013. 23:54 ] @
Pozdrav svima
Imam sledece pitanje,kako da uz pomog SQL select upita izvucem sledece:
1) top5 najcesce susretanih brojeva u koloni num6;
2) top5 najcesce susretanih brojeva (bez da ukljucujem brojeve kolone num6). U obzir treba uzeti sve 5 kolone (num1 - num5) ,a ne svaku kolonu posebno.


Code:

CREATE TABLE `lottery` (
  `num1` int(2) NOT NULL,
  `num2` int(2) NOT NULL,
  `num3` int(2) NOT NULL,
  `num4` int(2) NOT NULL,
  `num5` int(2) NOT NULL,
  `num6` int(2) NOT NULL,
  UNIQUE KEY `no_dupe` (`num1`,`num2`,`num3`,`num4`,`num5`,`num6`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
 
LOCK TABLES `lottery` WRITE;
/*!40000 ALTER TABLE `lottery` DISABLE KEYS */;
 
INSERT INTO `lottery` (`num1`, `num2`, `num3`, `num4`, `num5`, `num6`)
VALUES
    (1,2,6,10,20,38),
    (1,2,6,19,45,27),
    (1,2,10,39,48,13)
    ........................
    ........................
    ~ 1000 reda su dodata jos );


Hvala unapred!
[ bogdan.kecman @ 21.04.2013. 07:22 ] @
u jednom upitu? ako mora u jednom stavis ova dva kao subselect glavnog, samo nema razloga, pozoves ih dvaput

> top5 najcesce susretanih brojeva u koloni num6;

select num6, count(num6) koliko from lottery group by num6 order by koliko desc limit 5;


> 2) top5 najcesce susretanih brojeva (bez da ukljucujem brojeve kolone num6). U obzir treba uzeti sve 5 kolone (num1 - num5) ,a ne svaku kolonu posebno.

select a, count(a) koliko from ((select num1 a from lottery) union all (select num2 a from lottery) union all (select num3 a from lottery) union all (select num4 a from lottery) union all (select num5 a from lottery))x group by a order by koliko desc limit 5;
[ bogdan.kecman @ 21.04.2013. 09:58 ] @
btw ne znam sta ti vezano za php nije jasno ali to bolje tamo u php forumu, nadam se da je mysql deo jasan