Jump to content
php.lv forumi

Recommended Posts

Posted

Ir šāds vaicājums

 

SELECT * FROM `temp_videjie` order by procenti asc limit 3

 

Tas atgriež vērtības:

51.36

52.78

54

 

Man vajag, lai atgriež šādas vērtības:

54

52.78

51.36

 

Pagaidām doma ir izveidot View'u un tad sakārtot datus kā nepieciešams.

Bet jautājums vai var modificējot to vaicājumu, kurš ir augstāk, panākt man vēlamo rezultātu?

Posted

atlasi 3 mazākās kā jau dari, un apgried to listi otrādi php pusē (tur takš tikai 3 ieraksti).

ar sql ka tik nevajadzēs selectu no selecta.

Posted (edited)
select maz.procenti from 
(select procenti from temp_videjie order by procenti asc limit 3) as maz order by procenti desc

Edited by Val
Posted (edited)

Val variants stradā. Bet es vakar izveidoju savādāku risinājumu.

 

$sql_limitam="SELECT procenti FROM temp_videjie";

$vaicajums_limitam=mysql_query($sql_limitam);

$limit = mysql_num_rows($vaicajums_limitam);

$limit = $limit - 3;

if($limit<0)

{ $limit = 0; }

$antitop3 = "SELECT procenti FROM temp_videjie order by procenti desc limit $limit, 3";

Edited by Dooling
Posted

SELECT * FROM (SELECT * FROM temp_videjie ORDER BY procenti ASC LIMIT 3) ORDER BY procenti DESC

 

Moš tur aliasu kādu vajadzēs, bet ideju saprast var...

Posted (edited)

Nafig 3 ierakstu dēļ tā čakarēties. Uzliec array_reverse un miers. :/

 

Val variants stradā. Bet es vakar izveidoju savādāku risinājumu.

 

$sql_limitam="SELECT procenti FROM temp_videjie";

$vaicajums_limitam=mysql_query($sql_limitam);

$limit = mysql_num_rows($vaicajums_limitam);

$limit = $limit - 3;

if($limit<0)

{ $limit = 0; }

$antitop3 = "SELECT procenti FROM temp_videjie order by procenti desc limit $limit, 3";

 

Galīgi nepareizi. Pirmkārt 1 vaicājums vienmēr ir labāk par 2. Otrkārt starp šiem vaicājumiem tabulā var tikt ierakstīti jauni ieraksti vai izdzēsti vecie un saņemtie dati vairs nebūs pareizi.

Edited by GedroX
Posted
Galīgi nepareizi. Pirmkārt 1 vaicājums vienmēr ir labāk par 2.

 

Ne par konkrēto gadijumu, taču šis apgalvojums ir nekorekts.. Vienmēr tā nav gan - proti divi simple vaicājumi var būt krietni labāk (no performances u.c. viedokļa) nekā salikts (kešojas, labāk izmantojas indeksi utt).

Posted (edited)

Nu nav arī caur pakaļu vaicājumi jāraksta. Šajā gadījumā 2 nu toč nav vajadzīgi. Īpaši tādā izskatā.

 

Roze, uzrādi, lūdzu, kādu piemēru, kad divi vaicājumi ir labāk par vienu vaicājumu vai kādu vienu sql funkciju. ;)

Edited by GedroX
×
×
  • Create New...