Autor | Zpráva | ||
---|---|---|---|
Raider Profil |
#1 · Zasláno: 6. 1. 2006, 12:09:22
Mám takúto tabuľku:
create table tabulka ( meno_hraca varchar(50), goly1 int, goly2 int, goly3 int, goly4 int, tri_naj int ); Vložím do nej nejaké rôzne hodnoty. Teraz by som však potreboval dostať do "tri_naj" súčet 3 najväčších hodnôt (z goly1,goly2,goly3,goly4). Uvediem to na príklade: INSERT INTO tabulka (meno_hraca,goly1,goly2,goly3,goly4) values ('Test','5','0','5','5'); Čiže z toho by som potreboval dostať do "tri_naj" hodnotu 15. Vedel by niekto poradiť aspoň približný postup ako toho docieliť ? |
||
Kajman_ Profil * |
Pokud tam jsou ty 4, tak v mysql bych sečetl ty čtyři a odečetl nejmenší číslo (least) z těch čtyř. Plnění buď trigerem nebo updatem. Nebo to neplnit vůbec.
select goly1+goly2+goly3+goly4-least(goly1,goly2,goly3,goly4) as trinaj from tabulka |
||
Raider Profil |
#3 · Zasláno: 6. 1. 2006, 13:44:25
Dik za radu. Ale čo ked bude gólov viac ako 4 ? (goly5-10) Vedel by niekto ešte aj iný spôsob ako to urobiť ?
|
||
Kajman Profil |
#4 · Zasláno: 6. 1. 2006, 16:00:46
Asi udělat na každý sloupeček jednoduchý select - ty spojit přes union all, to seřadit sestupně a dát limit 3 a z tohohle cucnout sum toho sloupečku.
A nebo dávat golyx do jiné tabulky, aby se nemusely stále přidávat sloupečky. |
||
Časová prodleva: 17 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0