Jump to content
php.lv forumi

mySql + selec ... order by 1 desc


virtualcook

Recommended Posts

... nesaprotu kāpēc nestrādā SQL select pieprasījums uz mySql ja galā ir desc - order by 1 desc?

laikam jau taapeec, ka shaadam pieprasiijumam nav absoluuti nekaadas jeegas

 

order by noziimee to, ka tu veelies ierakstus sakaartot kaut kaadaa seciibaa. Bet kaa gan MySQL var zinaat, kaada ir tava izveeleetaa seciiba, ja tu par seciibas parametru padod konstanti? Liekas, ka nekaa ..

 

Risinaajums ir pie order by noraadiit kaadu kolonas nosaukumu vai kaadu citu funkciju, kuras veertiiba nav konstante un ir atkariiga no katras rindas.

Link to comment
Share on other sites

... nu kostante arī ir tas norādījums ko kārtot (tā norāda uz kolonnas numuru select klauzulā, skaitīšana sākas no 1) un desc kā kārtot :-))

ir veerts iepaziities ar SQL pamatiem ;) neviens kolonas ar cipariem nenumuree ;) prieksh tam ir kolonu nosaukumi :P

Link to comment
Share on other sites

... hmz nezinu, vienmēr kad oracle izpildu sql, tad pieprasītās kolonnas tiek uztvertas kā vektors, kas sākas ar 1, attiecīgi, ja kārtoju pēc attiecīgās pieprasītās kolonnas, tad tās nosaukuma vai alias vietā varu rakstīt tās kārtas numuru - domāju, ka MySql nav sliktāks šajā ziņā :-))

 

... bet labi nav vērts bakstīties ap sīkumiem - proba tāda, ka oder by MySql-aa man neizpildaas (pat bez desc), un jocīgākais tas, ka no cita php skripta uz to pashu DB order by izpildas, arī no šī, kura tagad neizpildas, sākumā izpildījās (btw: un ar visiem cipariņiem ;-))), bet nez kas notikās un čuss - varis nekā (mēģināju arī ar kolonnas nosaukumiem :-)))

 

... kādas būtu idejas?

Link to comment
Share on other sites

... hmz nezinu, vienmēr kad oracle izpildu sql, tad pieprasītās kolonnas tiek uztvertas kā vektors, kas sākas ar 1, attiecīgi, ja kārtoju pēc attiecīgās pieprasītās kolonnas, tad tās nosaukuma vai alias vietā varu rakstīt tās kārtas numuru - domāju, ka MySql nav sliktāks šajā ziņā :-))

 

... bet labi nav vērts bakstīties ap sīkumiem - proba tāda, ka oder by MySql-aa man neizpildaas (pat bez desc), un jocīgākais tas, ka no cita php skripta uz to pashu DB order by izpildas, arī no šī, kura tagad neizpildas, sākumā izpildījās (btw: un ar visiem cipariņiem ;-))), bet nez kas notikās un čuss - varis nekā (mēģināju arī ar kolonnas nosaukumiem :-)))

 

... kādas būtu idejas?

iekopee savu SQL pierpasiijumu sheit. tad arii buus idejas

Link to comment
Share on other sites

CREATE TABLE table1(

column1 bigint,

column2 int);

 

CREATE TABLE table2(

column1 bigint,

column2 bigint,

column3 varchar);

 

CREATE TABLE table3(

column1 bigint,

column2 bigint,

column3 datetime,

column4 longtext);

 

---------------------------------

 

$sql="SELECT t3.column2, t3.column3, t3.column4 from table2 t1, table2 t2, table3 t3";

$sql.=" where t1.column1 = t2.column2";

$sql.=" and t2.column1 = t3.column2";

$sql.=" and t1.column2 = " . $integerValue;

$sql.=" and t2.column3 = ' " . $stringValue. " ' ";

$sql.=" order by t3.column3 desc";

 

$sql_result=mysql_query($sql) or die("Pieprasījums netika izpildīts!");

 

---------------------------------

 

... nu lūk, un pieprasījums tā arī neizpildās :-(

Edited by virtualcook
Link to comment
Share on other sites

he-he izrādas bija tā, ka nevarēja atrast dir art (\MySQL\data\art) - izveidoju art un viss ok :-))

... tā kā sql rakstīju pa tiešo php skriptā, tad arī neredzēju kļūdas paziņojumu "Can't cerate/write to file 'art\#sql_981_0.myi" - sanāk indeksācijai kaut kādu pagaidu tabulu serveris taisa - tā?

Edited by virtualcook
Link to comment
Share on other sites

×
×
  • Create New...