Autor | Zpráva | ||
---|---|---|---|
davchy Profil |
#1 · Zasláno: 10. 1. 2011, 16:29:31
Ahoj,
momentálně je situace taková, že pro select zapisuji do kódu ručně to, co má z výsledků vypustit. Z mnoha důvodů bych ale potřeboval ruční zápis odbourat a nahradit automatizovaným procesem. Zkrátka, potřebuji aby se v selectu ID1 až ID3 zjišťovalo automaticky. Vše je vidět z přiložené struktury, selctu, jeho výsledku a ilustrativního kódu. Snažil jsem se vygooglovat něco z čeho bych si to "vytáhl", ale nikdy se mi nepodařilo sestrojit funkční řešení. Chtěl bych poprosit, zdy by mi s tím někdo nepomohl. CREATE TABLE IF NOT EXISTS `hlasovani_fa_sk` ( `id` int(10) NOT NULL auto_increment, `idplayer` int(10) NOT NULL default '0', `nick` varchar(25) NOT NULL default '0', `ipagent` varchar(255) NOT NULL default '0', `ip` varchar(15) NOT NULL default '0', `datum` timestamp NOT NULL default CURRENT_TIMESTAMP, PRIMARY KEY (`id`), FULLTEXT KEY `nick` (`nick`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 ; SELECT COUNT( * ) , idplayer, nick FROM hlasovani_fa_sk WHERE YEARWEEK( datum, 1 ) =201101 GROUP BY idplayer ORDER BY COUNT( * ) DESC , idplayer ASC LIMIT 0 , 3 count(*) idplayer nick 15 5085565 astrid888 12 8899747 stanka244 11 2908649 BasshunterRS <? $ID1 = 5085565; $ID2 = 8899747; $ID3 = 2908649; $co = "SELECT count(*), idplayer, nick FROM $table WHERE YEARWEEK(datum,1)=$201102 AND idplayer NOT IN($ID1,$ID2,$ID3) group by idplayer ORDER BY count(*) DESC, idplayer ASC LIMIT 0 , 25"; ... |
||
Kajman_ Profil * |
#2 · Zasláno: 10. 1. 2011, 16:55:08
SELECT count(*), idplayer, nick FROM $table WHERE YEARWEEK(datum, 1) = $201102 AND idplayer NOT IN (SELECT idplayer FROM hlasovani_fa_sk WHERE YEARWEEK(datum, 1) = 201101 GROUP BY idplayer ORDER BY COUNT(*) DESC, idplayer ASC LIMIT 0, 3) group by idplayer ORDER BY count(*) DESC, idplayer ASC LIMIT 0, 25 |
||
davchy Profil |
#3 · Zasláno: 10. 1. 2011, 17:11:50
Mockrát díky, se i stydím, že to bylo tak jednoduché.
|
||
Časová prodleva: 13 let
|
0