anonīms Posted September 16, 2009 Report Share Posted September 16, 2009 (edited) ir db lietotaji, kur ir kollonas nba_rating, nhl_rating, uefa_rating un ir nepieciešams šos reitingus saskaitīt un tad no visiem lietotājiem kopā iedalīt vietu. Mēģināju kaut ko šādu: http://paste.php.lv/5dd5908708f079f904c8f02630f42ab3?lang=php bet izmet error Invalid use of group function Mēģināju pēc šī koda, ko diezgan pasen iedeva marcis. (kods der ideāli, ja nepieciešams tikai aprēķināt rangu pēc vienas no spēlēm (nhl_rating, etc.)) SELECT *, rating AS myrating, (SELECT COUNT(DISTINCT(rating))+1 FROM `table` WHERE rating>myrating) AS rank FROM `table` WHERE id=$id Avots: http://php.lv/f/topic/13621-izvadam-kura-vieta-ir-pec-kaut-ka/page__hl__ranks__fromsearch__1 Kādi to varētu dabūt gatavu? Edited September 16, 2009 by anonīms Quote Link to comment Share on other sites More sharing options...
marcis Posted September 17, 2009 Report Share Posted September 17, 2009 SUM() funkciju nav paredzēts lietot tā kā tu to esi izdomājis, viņa saskaita vienas kolonas vērtības :) SELECT SUM(1+2+3) - FAIL SELECT 1+2+3 - SUCCESS Quote Link to comment Share on other sites More sharing options...
Kemito Posted September 17, 2009 Report Share Posted September 17, 2009 Pieskaiti esošajai vērtībai klāt jauno, tur nekā sarežģīta nav! Quote Link to comment Share on other sites More sharing options...
anonīms Posted September 17, 2009 Author Report Share Posted September 17, 2009 izvada pilnīgi visiem lietotājiem, ka ir pirmā vieta. $ranga_vieta = mysql_query(" SELECT id, lietotajvards, nhl_rating+uefa_rating+nba_rating AS myrating, (SELECT COUNT(DISTINCT(nhl_rating+nba_rating+uefa_rating))+1 FROM bliezam_lietotaji WHERE nhl_rating+uefa_rating+nba_rating > myrating ORDER BY id DESC) AS ranga_vieta FROM bliezam_lietotaji ORDER BY ranga_vieta") or die(mysql_error()); Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.