Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Sortiranje tema po datumu zadnjeg posta -- kako odraditi?

[es] :: Baze podataka :: Sortiranje tema po datumu zadnjeg posta -- kako odraditi?

[ Pregleda: 6565 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Zoran Rašković
Serbia

Član broj: 95
Poruke: 1360
*.krusevac-2.tehnicom.net



+1 Profil

icon Sortiranje tema po datumu zadnjeg posta -- kako odraditi?16.08.2002. u 02:01 - pre 264 meseci
imam strukturu tabele:
pid | parent_id | subject | author | text | ip | ip_real | datum

ovo je tabela za forum.


I sad novi postovi imaju parent_id=0 uvek.

Ja sad ocu da sortiram sve koji imaju parent_id=0 ali po datumu zadnjeg posta koji kao parent_id ima pid od ovog posta koji ima parent_id=0.

:) Mozda sam malo komplikovano rekao ali valjda dobijate ideju sta ocu da uradim. Kao na ovom forumu: ocu da sortiram sve teme po datumu zadnjeg posta.

 
Odgovor na temu

Riste Pejov
Team Leader/Senior Software Developer @
Ein-Sof ltd Skopje
Skopje, Macedonia

Član broj: 128
Poruke: 571
62.162.102.*

Jabber: richie@bagra.net.mk
ICQ: 154236769
Sajt: riste.softver.org.mk


Profil

icon Re: Sortiranje tema po datumu zadnjeg posta -- kako odraditi?16.08.2002. u 11:01 - pre 264 meseci
koju bazu koristis ?

posto u Postgres, Oracle i MSSQL bi se moglo uraditi sa sub selectima..
ali za MySQL .... mora bi uraditi dva upita pa onda u scriptu da sortiras prvi recordset


People who think they know everything tend to irritate those of us who do.
 
Odgovor na temu

Zoran Rašković
Serbia

Član broj: 95
Poruke: 1360
*.internet-cafe.co.yu



+1 Profil

icon Re: Sortiranje tema po datumu zadnjeg posta -- kako odraditi?16.08.2002. u 15:01 - pre 264 meseci
Koristim mysql
 
Odgovor na temu

Mihailo
Mihailo Đorić

Član broj: 1016
Poruke: 2875
*.verat.net



+1 Profil

icon Re: Sortiranje tema po datumu zadnjeg posta -- kako odraditi?16.08.2002. u 17:05 - pre 264 meseci
while ( dok ima parent_id )
{
// uzems max_datum za dati parent_id

max_datum= select max(datum) from tabela where parent_id=trenutni parent_id;

// ubacis dati parent_id i njegov max_datum u temp tabelu

INSERT temp (parent_id, datum) SELECT parent_id, datum FROM tabela
WHERE tabela.datum='max_datum' & tabela.parent_id=trenutni parent_id;

parent_id++;
}

Dobiješ temp tabelu sa parent_id i max_datum za taj patrent_id, koju posle samo sortiraš upitom.

Pre while uradiš delete temp tabele.
 
Odgovor na temu

tOwk
Danilo Šegan
Zemun/Beograd

Član broj: 94
Poruke: 2743
*.bitsyu.net

ICQ: 9344053
Sajt: alas.matf.bg.ac.yu/~mm011..


+2 Profil

icon Re: Sortiranje tema po datumu zadnjeg posta -- kako odraditi?16.08.2002. u 21:46 - pre 264 meseci
Mada je predloženo zaista rešenje kakvo si tražio i mogao dobiti za MySQL 3.23, ja bih preporučio da se spustiš za jedan nivo, i razmisliš o arhitekturi tvoje baze.

Ukoliko će nove poruke biti mnogo ređe od listanja poruka (uobičajeno ponašanje; u najgorem slučaju ćeš dobiti 1:1 odnos i to kada svako čim izlista teme odmah pošalje novu temu), onda je bolje rešenje da dodaš polje ,,datum-najnovije'' uz svaku poruku, a koje ćeš koristiti samo kod poruka sa parentID-om=0.

Jasno je da ćeš ovako imati ponovljene podatke (,,redunansa''), i da će ti baza zauzimati više prostora na disku (ali smatram da je to zanemarljivo zbog odnosa veličine poruke i veličine polja datuma). Takođe ćeš morati da po upisu svake nove poruke izmeniš i ,,datum-najnovije'' odgovarajuće nad-poruke.

Prema tome, na ovaj način bi sa bilo kojom bazom postigao mnogo veću brzinu odziva, i procesor bi se manje opterećivao (a disk neznatno više). Naravno, ukoliko imaš neki RISC procesor na 500GHz sa 1GB keša i neki stari, spori disk od 100MB, bolje je prethodno rešenje (ili možda da sve smestiš u keš procesora :).

A još, ovo rešenje omogućava upotrebu kratke SELECT naredbe.

Nadam se da će i ovaj predlog biti razmatran kao korisno rešenje.

Toliko.osao programera koji radi po sp
Možda se moje mišljenje promenilo, ali ne i činjenica da sam u pravu.
 
Odgovor na temu

Riste Pejov
Team Leader/Senior Software Developer @
Ein-Sof ltd Skopje
Skopje, Macedonia

Član broj: 128
Poruke: 571
62.162.102.*

Jabber: richie@bagra.net.mk
ICQ: 154236769
Sajt: riste.softver.org.mk


Profil

icon Re: Sortiranje tema po datumu zadnjeg posta -- kako odraditi?19.08.2002. u 10:28 - pre 263 meseci
Mislim da je fino da poslusas tOwk-a
i najbolje ti je da podelis to sve u dve tabele,

jednu sa svim postovima koji nemaju parenta, i ostala tabela da budu postovi koji su vezani
za neki od onih sa parent_id=0, onda u toj prvo tabeli sa postovima bez parenta, postavi jos
jednu kolonu (ali sad ti u toj prvoj tabeli i ne treba parent_id tako da mozes tu kolonu zameniti sa timestamp-om) koja bi bila TIME STAMP sa vreme i date zadnjeg child posta, koju bi update-ovao
svaki put kad se unese child post.
People who think they know everything tend to irritate those of us who do.
 
Odgovor na temu

[es] :: Baze podataka :: Sortiranje tema po datumu zadnjeg posta -- kako odraditi?

[ Pregleda: 6565 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.