select

Programovacie jazyky, rady, poradňa...
Flambar1
Expert
Expert
Používateľov profilový obrázok
Príspevky: 165
Registrovaný: 23 feb 2010, 17:30
Bydlisko: Michalovce
Kontaktovať používateľa:

select

Príspevok od používateľa Flambar1 »

mám tabuľku kde mám 3 stlpce a potrebujem vybrať užívateľa, ktorý ma v druhom stlpci najbližšie číslo k 100. ako by sa to dalo spraviť?? cez akú funkciu?
Sagittarius
Guru
Guru
Používateľov profilový obrázok
Príspevky: 2883
Registrovaný: 13 feb 2007, 21:58
Bydlisko: Do nekonečna a ešte ďalej

Re: select

Príspevok od používateľa Sagittarius »

Kód: Vybrať všetko

SELECT uzivatel
FROM tabulka
WHERE MIN(ABS(100-cislo));
Myslím, že takto by to mohlo byť. :)
Flambar1
Expert
Expert
Používateľov profilový obrázok
Príspevky: 165
Registrovaný: 23 feb 2010, 17:30
Bydlisko: Michalovce
Kontaktovať používateľa:

Re: select

Príspevok od používateľa Flambar1 »

Sagittarius napísal:

Kód: Vybrať všetko

SELECT uzivatel
FROM tabulka
WHERE MIN(ABS(100-cislo));
Myslím, že takto by to mohlo byť. :)

toto "-cislo" myslíš že to číslo je 100?
mirak2
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 6719
Registrovaný: 18 sep 2005, 13:44
Bydlisko: Prague, CZE / Kosice, SVK

Re: select

Príspevok od používateľa mirak2 »

nie, to cislo je cislo v druhom stlpci, resp. nazov druheho stlpca
Flambar1
Expert
Expert
Používateľov profilový obrázok
Príspevky: 165
Registrovaný: 23 feb 2010, 17:30
Bydlisko: Michalovce
Kontaktovať používateľa:

Re: select

Príspevok od používateľa Flambar1 »

takže potom by to malo vyzerať takto?:

Kód: Vybrať všetko

SELECT user FROM ".TBL_SCORE." WHERE MIN(ABS(100-percent));
Sagittarius
Guru
Guru
Používateľov profilový obrázok
Príspevky: 2883
Registrovaný: 13 feb 2007, 21:58
Bydlisko: Do nekonečna a ešte ďalej

Re: select

Príspevok od používateľa Sagittarius »

Veď vyskúšaj, my to nemáme kde spustiť...
Flambar1
Expert
Expert
Používateľov profilový obrázok
Príspevky: 165
Registrovaný: 23 feb 2010, 17:30
Bydlisko: Michalovce
Kontaktovať používateľa:

Re: select

Príspevok od používateľa Flambar1 »

nejde to nevypíše nič ... :/
doddo999
Light Expert
Light Expert
Príspevky: 72
Registrovaný: 23 júl 2009, 13:14
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: select

Príspevok od používateľa doddo999 »

Mmarek9122 napísal:nejde to nevypíše nič ... :/

ked to nevies urobit jednym query tak si pomoz phpckom nie?
trapna funkcia

Kód: Vybrať všetko

function vrat_cislo_blizsie_k_100(){
    $t="nazov tabulky";
    $n="nazov 2 stlpca";
    
    $sql=mysql_query("SELECT * FROM $t WHERE $n < 100 order by id DESC LIMIT 0, 1");
    $sql=mysql_fetch_assoc($sql);
    $sql1=mysql_query("SELECT * FROM $t WHERE $n > 100 order by id ASC LIMIT 0, 1");
    $sql1=mysql_fetch_assoc($sql1);
    
    $s=100-$sql[$n];
    $s1=$sql1[$n]-100;
    
    if($s>$s1) return $sql1;
    else return $sql;
}
Numline1
Light Professional
Light Professional
Používateľov profilový obrázok
Príspevky: 858
Registrovaný: 04 dec 2006, 18:04

Re: select

Príspevok od používateľa Numline1 »

Trosku nepekne riesenie, ale malo by ist (aj ked aj ten kod od kolegu co ti odpovedal prvy by mal ist):

Kód: Vybrať všetko

SELECT * FROM `tabulka` WHERE `percento` <= 100 ORDER BY `percento` DESC LIMIT 1
ppt
Darca
Darca
Používateľov profilový obrázok
Príspevky: 1920
Registrovaný: 27 máj 2006, 11:24
Kontaktovať používateľa:

Re: select

Príspevok od používateľa ppt »

numline: a co ak mam v db 2 riadky s percentami: 94 a 101? :wink:
konyk87
King
King
Používateľov profilový obrázok
Príspevky: 1709
Registrovaný: 24 okt 2007, 15:56

Re: select

Príspevok od používateľa konyk87 »

Už dlhšiu dobu som s SQL nerobil, tak mi príde moje riešenie trošku zvláštne, ale vyberie to všetkých, ktorí sú najbližšie ku 100 z oboch strán (pokiaľ majú rovnako ďaleko)...

Kód: Vybrať všetko

SELECT user 
FROM tabulka 
WHERE ABS(100-cislo) = (SELECT MIN(ABS(100-cislo)) 
                        FROM tabulka);
Numline1
Light Professional
Light Professional
Používateľov profilový obrázok
Príspevky: 858
Registrovaný: 04 dec 2006, 18:04

Re: select

Príspevok od používateľa Numline1 »

ppt napísal:numline: a co ak mam v db 2 riadky s percentami: 94 a 101? :wink:

Kód: Vybrať všetko

DELETE FROM `tabulka` WHERE `percento` > 100
:D :D :D Ale inak dobra pripomienka, nemyslel som na to, ze moze mat percenta aj vyssie ako 100
Flambar1
Expert
Expert
Používateľov profilový obrázok
Príspevky: 165
Registrovaný: 23 feb 2010, 17:30
Bydlisko: Michalovce
Kontaktovať používateľa:

Re: select

Príspevok od používateľa Flambar1 »

Vybavil som to ináč. Diki za pomoc.
Napísať odpoveď