Raivis.purins Posted February 9, 2009 Report Posted February 9, 2009 Ir tabula Leibli, kurā ir ir trīs kolonnas markas, descibelis un tips. Man vajag pacelt vienu ierakstu no markas pa trīs pozīcijām augstāk. Kā? Thank u in advance!
bubu Posted February 9, 2009 Report Posted February 9, 2009 Relāciju datubāzēm nav tādas ierakstu kārtības - ierakstiem pašiem par sevi select rezultātā nav nekādas kārtības. Pēc būtības vienu dienu tu var saņemt ierakstus kārtībā A B C, bet nākamajā B A C. Ja gribi, lai ierakstiem ir konkrēta kārtība, tad tie ir jākārto ar ORDER BY. Un kā marcis tev jau saka - tev jālieto vēl viena papildus kolonna ar pozīcijas numuru select rezultātā pēc kā arī tad sakārtot tos ierakstus.
Delfins Posted February 9, 2009 Report Posted February 9, 2009 ierakstiem pašiem par sevi select rezultātā nav nekādas kārtības Atļaušos oponēt - klāsterētais indekss. bet nesaprotu, kāpēc tu to šeit pieminēji... :) Jo risinājums ir ar orderby+sort kolonna
bubu Posted February 9, 2009 Report Posted February 9, 2009 Šis vai? http://dev.mysql.com/doc/refman/5.0/en/inn...ndex-types.html Neredzu, kur tur kautkas pieminēts par kārtību select rezultātos.
Delfins Posted February 9, 2009 Report Posted February 9, 2009 tāpēc, ka ieraksti fiziski tiek ielikti atmiņā(diskā) jau secīgi (tiek pārbuildota visa datu atrašanās vietas, ja ieliek kaut ko starpā), attiecīgi pie join-a, relāciju ieraksti tiek pa taisno "ieskanēti" nevis atlasīti (nosacījums, kad nav order by uz to tabulu) Praksē pārbaudīts risinājums :)
bubu Posted February 9, 2009 Report Posted February 9, 2009 Nē, nu protams var paļauties uz tādām "nedokumentētām" lietām (tb uz to kā konkrēti DB ir implementēta). Tikpat labi var paļauties uz neinicializētām mainīgo vērtībām (pieņemot, ka tur būs 0). Uz daudz ko var tā paļauties... Bet cik tas prātīgi - tas jau cits jautājums. Ja dokumentācijā/standartā nav teikts, ka rezultātam būs noteikta kārtība, tad tā to vajag arī saprast. Citādi mainīsies db versija/formāts un skaties, ka zili brīnumi tev nenotiekās ;)
Raivis.purins Posted February 9, 2009 Author Report Posted February 9, 2009 Es laikam palikšu pie varianta, kurā uztaisīšu vēlvienu tabulu kurā piešķiršu katram ierakstam identifikāciju. Kaut kā tā!
Raivis.purins Posted February 9, 2009 Author Report Posted February 9, 2009 (edited) sajuka, paldies, ka aizrādīji. Ar tabulu es tiku domājis kollonu! Edited February 9, 2009 by Raivis.purins
Gints Plivna Posted February 9, 2009 Report Posted February 9, 2009 Atļaušos oponēt - klāsterētais indekss. Iespējams ka kaut kādā DBVS, pie kaut kādiem nosacījumiem (spec tabulas veids, spec indekss utml) var vienmēr nolasīt datus noteiktā kārtībā, taču, ja vien tas nav speciāli minēts dokumentācijā, ka tā drīkst darīt un tas ir atbalstīts, es uz to nepaļautos. Jo tas nozīmē šodien ir, rīt (cita versija, cits OS, cits vēl kaut kas) vairs nav. Un SQL standarts arī jauki saka, ja nav ORDER BY klauzas, tad sakārtojums ir "implementation-dependent". Gints Plivna http://datubazes.wordpress.com
Delfins Posted February 9, 2009 Report Posted February 9, 2009 Nevajag uzreiz tā cepties :) tas nav tas pats, ka neapstrādāt GPC variabļus.
Recommended Posts