dex | 19.03.2017 20:47 |
---|---|
Predmet:Loto kombinacile u MySQL-u Avko je zapoceo temu na http://icentar.ba/...e=1#p28123 Pa rekoh da vidim kako je moguce naci kombinacije. Napravio tabelu Brojevi sa jednim poljem Broj, popunio je brojevima od 1 do 45 Prvo probao sa CREATE VIEW Kombinacije AS SELECT Broj as t1, Broj as t2, Broj as t3, Broj as t4, Broj as t5, Broj as t6 FROM Brojevi WHERE t1<t2 AND t2<t3 AND t3<t4 AND t4<t5 AND t5<t6 Ne prolazi ni u Access-u ni u MySQL-u. Zakljucak: NE KORISTITI ALIASE ZA POLJA U WHERE, HAVING I JOIN KLAUZULI! Ne znam, mozda u nekom slucaju i moze da prodje, ali u vecini nece Onda probao PreuzmiIzvorni kôd (SQL): U Accesu prolazi, dok MySQL ne dozvoljava iste nazive polja, vec sam im morao dati aliase
PreuzmiIzvorni kôd (SQL): Onda sam pozvao
SELECT COUNT(*) FROM Kombinacije i dobio broj mogucih kombinacija. Accessu je trebalo oko minut (po slobodnoj proceni), a MySQL-u 8.86 sec iz command line. Onda rekoh da vidim da li brze radi sa JOIN-ima PreuzmiIzvorni kôd (SQL):
coun uradio za 8.84 sec, neznatna razlika. Probao vise puta, uvek je razlika bila na drugoj decimali u korist inner joina I tako nadjosmo broj mogucih kombinacija. 8 145 060 Za nalazenje broja povoljnih treba izbrisati podatke iz tabele Brojevi i popuniti je brojevima iz opsega koji zelimo da bude izvucen, Na primer samo parni, samo neparni samo koji pocinju sa 1 i sta vam vec padne napamet… Verovatnocu racunamo kao broj povoljnih/ 8 145 060 |