Ebresi epomevis eggrafis me xrovologiko ordering

Συζητήσεις για την βάση δεδομένων MySQL και το phpMyAdmin

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

Ebresi epomevis eggrafis me xrovologiko ordering

Δημοσίευση από dva_dev » 05 Ιαν 2006 19:11

Kai epidi to id eivai autoincrement dev iparxei periptosi va simpiptouv
dio eggrafes me idio id opote avagkastila livete ekei to ordering
me akribia.
Πιστεύω πάντως ότι αφού το id είναι autoincrement ακόμα κι αν δύο εγγραφές έχουν το ίδιο timestamp (που θα έπρεπε να είναι διαφορετικό αλλά έστω ότι το χρονικό διάστημα που πέρασε για την καταχώρηση τους είναι τόσο μικρό - χιλιοστά του δευτερολέπτου -που δεν το έπιασε) τότε σημαίνει ότι στην database έχει καταχωρηθεί πρώτα η μία εγγραφή (αυτή με id=X) και μετά η άλλη (με id=X+1) οπότε η επόμενη μιας εγγραφής που έχει το ίδιο timestamp πρέπει να βρεθεί με το id σε ASC order και όχι DESC.

Άβαταρ μέλους
Rapid-eraser
WebDev Moderator
Δημοσιεύσεις: 6851
Εγγραφή: 05 Απρ 2003 17:50
Τοποθεσία: Πειραιάς
Επικοινωνία:

Ebresi epomevis eggrafis me xrovologiko ordering

Δημοσίευση από Rapid-eraser » 05 Ιαν 2006 23:31

lipov exo tnv evtiposi pos brika lisi ...
alla malov 8a prepei va katafigw kai se xrisi kodika
bebea perigrafovtas tnv diadikasia me mporei va bre8oume kai se kapoio sql statement.

Katarxvi to timestamp pou divw dev exei va kavei me tipopediou alla me eva ovoma ... as to allaksoume sav ovoma kai as to kavoume `opening` kai as pros8iorisoume tiv timestamp timi tou os 'YYYYMMDD'

Twra afto pou skeftika eivai oti apo tnv stigmi pou exo
orisei afstira to ordering os:
ORDER BY `opening` ASC , `id` DESC

Afto simevei pos sta opening pou exouv to idio timestamp n sira tou id exei voima !!!
kati pou dev eblepa mexri twra ...

Ara pame sto problima . Esto lipov oti exoume
mia eggrafi me id X .
Afti n eggrafi exei `opening` Z
Grouparovtas me basi to `opening` aftis tis eggrafis
kai pervovtas to min(`id`) aftou tou group exoume to akrotato.
Av eivai iso me to id mas tote n max(`id`) tou epomevou group apo `opening` eivai n epomevi eggrafi.
Av to X megalitero apo tnv min() timi simevei pos n proti eggrafi pou exei idio `opening` kai exei mikrotero id apo to X eivai n epomevi eggrafi.

Toumpaliv afti n diadikasia mas divei tov proigoumevo id

:)


Ksekivaw va grapso tov kodika etsi va dw av leitourgei
afto sav logiki kai av paizei isos tote va mporesoume
va to mazepsoume se ligotera query.
Cu, Rapid-eraser, Tα αγαθά copies κτώνται.
Love is like oxygen, You get too much you get too high
Not enough and you're gonna die, Love gets you high

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

Ebresi epomevis eggrafis me xrovologiko ordering

Δημοσίευση από dva_dev » 05 Ιαν 2006 23:46

Το query που σου έστειλα αυτό που περιγράφεις κάνει.
Μόνο που τρέχει σε access και πρέπει να αλλάξει ώστε να χρησιμοποιεί το συντακτικό της mysql (όπου αυτό διαφέρει).

Άβαταρ μέλους
Rapid-eraser
WebDev Moderator
Δημοσιεύσεις: 6851
Εγγραφή: 05 Απρ 2003 17:50
Τοποθεσία: Πειραιάς
Επικοινωνία:

Ebresi epomevis eggrafis me xrovologiko ordering

Δημοσίευση από Rapid-eraser » 06 Ιαν 2006 00:13

kai logo tis apousiasas twv sub query stnv 4.0.x prepei va spasei se komatia.
Opote 8a prospa8iso va to metarepso ta subquery se joins pou mporei
va ilopii8ouv me 4.0.x ... gia va doume :)

Thanks man again.


PS: dva_dev euxaristw poli gia tnv bon8ia, malov exo brei lisi me basi to query sou :)
Cu, Rapid-eraser, Tα αγαθά copies κτώνται.
Love is like oxygen, You get too much you get too high
Not enough and you're gonna die, Love gets you high

Απάντηση

Επιστροφή στο “MySQL”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες