Keresés
Hírlevél
 
Kiemelt témák
»Hogy viszonyul ehhez a család?
»Legjobb metodika emberi relációk tárolására
»A programozó hibája, hogy törik a programját?
»Jogosultság kezelés mezőszinten
Állás/munka
»Wordpress szakértőt keresünk
»Kamu álláshirdetők listája
»Front-end fejlesztő / Sitebuilder
»DataStore Developer
»PHP programozó, webfejlesztő munkát keres
» több téma
Tudástár
?Input mezőből visszakapott adat probléma
Oldalon keresés 8x írja ki az eredményt
?XML-ből sok szövegmező
TinyMCE és az ékezetek
?Rengeteg hasonló kép betöltése gyorsan (PHP)
Ékezetes kar. nem minden táblában jól
?Shelltreeview gond
Grafikon rajzolás probléma
?Onclick= php függvény
?Egyenes megrajzolása
?Access-ből adott xml fájl kinyerése
Listázás időpont szerint
Exportálás változó könyvtárba
*Link eredményének kiolvasása
Imagemapre képet
» több téma
Társalgó
»A programozásból jól meg lehet élni?
»MFC tanulás
»Könyvet adok-veszek
»Hogy viszonyul ehhez a család?
»Nintendo wii
»Letölthető az új Rad Studio XE és Delphi XE
»Weblap véleményezés
»Játékmotor elmélet
»Informatikai bulvárlap
»Delphi-ről C++-ra váltás
» több téma
ASP  |  C#  |  C++  |  CSS  |  Delphi  |  Flash  |  HTML  |  Java  |  JavaScript  |  Pascal  |  Perl  |  PHP  |  Python  |  Visual Basic  |  Visual C++  |    »    

Tudástár

»

MySQL beágyazott query ( MAX(SUM())

»

MySQL beágyazott query ( MAX(SUM())

nyitotta: gyiik, idő: 2010.03.12., moderátor: Árnyék
  Értesítés változás esetén Felvétel kedvencekhez Küldés emailben Nyomtatható verzió

Kategóriák:Adatbázisok » MySQL
Programozási nyelvek » PHP

Ez a téma lezárásra került a moderátor által. A lezárás oka: 1 téma - 1 kérdés
Sorrend:
Időzóna:
Blokkméret:
Tiszteletem Urak!
Órák óta szopok egy problémával, és már lassan ott tartok, hogy a fejemet a falba verem, mert reggelre meg kell oldanom valahogy. Van egy versenyem, ahol az első fordulóban a zsűrik lepontozzák a versenymunkákat. Egy munkát akár több zsűri is pontozhat. Többországos, többkategóriás a verseny, és a második fordulóba minden ország minden kategóriájának az első helyezettje jut be.

A lekérdezésem jelenleg a következő: "SELECT SUM(s.jsGIVENPOINTS) as sum, s.jsJOBID, pCOMPLEVEL, pCOMPCATEGORY, uCONTESTINCOUNTRY FROM $COMMONDATA[dbprefix]pictures p, $COMMONDATA[dbprefix]users u , $COMMONDATA[dbprefix]_judging_selected s WHERE p.pCOMPLEVEL='$levelid' AND p.pCOMPCATEGORY='$catid' AND p.pSTATUS='y' AND p.pPAYMENTVERIFY<>'' AND u.uID=p.pUSERID AND p.pID=s.jsJOBID AND s.jsWHICHROUND='1' GROUP BY s.jsJOBID, u.uCONTESTINCOUNTRY".

A kimenete a következő:
Array ( [sum] => 24 [jsJOBID] => 214 [pCOMPLEVEL] => 3 [pCOMPCATEGORY] => 1 [uCONTESTINCOUNTRY] => hu )
Array ( [sum] => 20 [jsJOBID] => 129 [pCOMPLEVEL] => 3 [pCOMPCATEGORY] => 1 [uCONTESTINCOUNTRY] => it )
Array ( [sum] => 13 [jsJOBID] => 164 [pCOMPLEVEL] => 3 [pCOMPCATEGORY] => 1 [uCONTESTINCOUNTRY] => hu )
Array ( [sum] => 5 [jsJOBID] => 117 [pCOMPLEVEL] => 3 [pCOMPCATEGORY] => 1 [uCONTESTINCOUNTRY] => hu )

namost, ezek közül nekem a két ország (hu, it) legmagasabb pontszámot kapó versenymunka (jsJOBID, a 214-es, és a 129-es) kell.
Próbálkoztam ilyennel, de nem ment: "SELECT MAX(SUM(s.jsGIVENPOINTS)) as sum...", pedig igazából ez a kis MAX jelentené a kiutat a sz@rból, amibe belekevertem magam:)
Ötlet valakinek?
Hali!

Ha jól értem a problémát:

    SELECT
            sum,
            jsJOBID,
            pCOMPLEVEL,
            pCOMPCATEGORY,
            uCONTESTINCOUNTRY
    FROM (
            SELECT
                    SUM(s.jsGIVENPOINTS) AS sum,
                    s.jsJOBID AS jsJOBID,
                    pCOMPLEVEL,
                    pCOMPCATEGORY,
                    uCONTESTINCOUNTRY
            FROM
                  $COMMONDATA[dbprefix]pictures p,
                  $COMMONDATA[dbprefix]users u,
                  $COMMONDATA[dbprefix]_judging_selected s
            WHERE
                   p.pCOMPLEVEL='$levelid' AND
                   p.pCOMPCATEGORY='$catid' AND
                   p.pSTATUS='y' AND
                   p.pPAYMENTVERIFY<>'' AND
                   u.uID=p.pUSERID AND
                   p.pID=s.jsJOBID AND
                   s.jsWHICHROUND='1'
            GROUP BY
                      s.jsJOBID,
                      u.uCONTESTINCOUNTRY
            ORDER BY sum DESC
          ) AS temp
    GROUP BY
              uCONTESTINCOUNTRY
    ORDER BY
              sum DESC;

URAM!
A sírás kerülget, és kerülgetett egész nap Eddig az idegtől, de most az örömtől
Hálás köszönetem, u saved my day, tökéletes a megoldás!!
Üdv Uram!
Beleszaladtam egy olyanba, hogy "holtverseny"... tehát egy országból van 2, v. több azonos összpontszámot kapó versenyző, ilyenkor az összes ilyen versenyzőnek tovább kéne jutnia. Ezzel a queryvel meg lehet ezt valahogy oldani?
Ez a téma lezárásra került a moderátor által. A lezárás oka: 1 téma - 1 kérdés
Belépés
E-mail cím:
Jelszó:

RSS források
-Hírek
-Cikkek
-Fórumok
-Állás/munka
Top pontgyűjtők
»Micu1.030
»Interlock280
»mezofi150
»Pitta_100
»Frostech0100
»szbzs.2100
»Riha60
»Akhiles50
»mrchandra50
»Bakter50
Top wikieditorok
»Sting
»Doi
»FlamingClaw
»Argathron
»Csaboka2
»Vodka
»Joexy
»Ivn
»Balucinho
»Kelemzol
» ugrás a wikire
A nap kifejezései
»Algoritmus
»Hogyan kezdjem el
»Perl
» ugrás a wikire
Hírek
»Megérkezett a PostgreSQL 9.0 kiadásra jelölt változata
»Letölthető az új Rad Studio XE és Delphi XE
»Function-X digitális művészeti találkozó és demoscene party
»Webfejlesztőknek szóló közösségi oldalt indított a Microsoft
»Letölthető a hardvergyorsított Chrome 7 első fejlesztői kiadása
» több hír
PC Fórum hírek
»Itt az első kép az AMD nyolcmagos processzoráról
»"Szuperdizájnos" érintő-egeret mutatott be a Microsoft
»Szabadalmaztatta a számítógép kikapcsolását a Microsoft
»Vírusriadót váltott ki a webezőknél a Google
»Ingyen iWiW-ezhetnek mobiljaikról a T-Mobile-osok
»Automatikusan kiválogatja legfontosabb leveleink a Google
»OOo4Kids - ingyenes Office csomag gyerekeknek
»Új, gyorsabb Core i3 és Pentium processzorokat jelentett be az Intel
Tagi blogok
»PSP
»Első Programozó
»USB
»PHP, mint sablonmotor egyszerűen