hilfdirselbst.ch
Facebook Twitter gamper-media
Pozor  M 
Beiträge: 892
30. Sep 2003, 11:21
Beitrag #1 von 4
Bewertung:
(746 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Sortierproblem


hallo,

mein problem ist folgendes, ich möchte meine datensätze nach 2 kriterien sortieren: Zeit und einem index

ich verwende ein timestamp (14), den ich selber zusammenstelle.
ich möchte eine sortierung erreichen, die alle in einem monat vorkommende datensätze nach zeit und index sortiert.
die einfachste lösung wäre den monat als eigene spalte in der tabelle zu speichern...

ich suche noch weitere ideen für dieses problem...
id timestamp status
1 20030120180011 0
2 20030120190011 2
3 20030120170011 2
4 20030208000011 2
5 20030222000011 0

sortiert:
1 20030120180011 0
3 20030120170011 2
2 20030120190011 2
5 20030222000011 0
4 20030208000011 2

gruss pozor Top
 
X
Anonym
Beiträge: 22827
6. Okt 2003, 12:10
Beitrag #2 von 4
Beitrag ID: #53496
Bewertung:
(746 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Sortierproblem


sortier doch einfach nach dem timestamp.
Denn wenn ich das jetzt richtig verstanden habe, ist ja z.b. 20030120180011 vor 20030120175900. Und die erste Zahl ist ja auch klar grösser als die zweite. Also, wo liegt das Problem?

mfg Stefan
als Antwort auf: [#52857] Top
 
Pozor  M 
Beiträge: 892
6. Okt 2003, 13:02
Beitrag #3 von 4
Beitrag ID: #53502
Bewertung:
(746 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Sortierproblem


hallo,

für eine einfache sortierung ist dies sicherlich der richtige weg, ich möchte aber folgende sortierreihenfolge:

yahr monat status tag stunde min

dies ist mit einem einfachem timestamp nicht mehr möglich (soweit ich SQL kenne).

Ich verwende jetzt den timestamp nicht mehr. Ich habe die spalte aufgeteilt, jetzt funktioniert es wie es sollte.

Noch ne frage zum Schluss:

Ist es für die SQL-DB viel aufwändieger, wenn es mehr spalten in einer tabelle hat? (theoretisch exakt gleich viel daten pro reihe)

gruss pozor
als Antwort auf: [#52857]
(Dieser Beitrag wurde von Pozor am 6. Okt 2003, 13:04 geändert)
Top
 
Miro Dietiker
Beiträge: 699
6. Okt 2003, 13:29
Beitrag #4 von 4
Beitrag ID: #53507
Bewertung:
(746 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Sortierproblem


Es macht Performancemässig immer sinn den geeigneten Datumstyp
zu wählen, der dir von einer Datenbank zur Verfügung gestellt wird,
denn speziell beim anwenden von Datumsfunktionen kann die datenbank
am besten mit diesem Datumtypen umgehen, und wird sonst immer über
Umwege deine Grössen einsetzen..

Ich hätte folgendes empfohlen:
- Du definierst von dem Feld in der Datenbank eine erste
Ausgabespalte Yahr&Monat
- Du definierst eine ausgabespalte Status
- Spalte Tag Stunde Minute
(Die abgeleiteten Datumsspalte mit einer funktion wie DATE_FORMAT
.. oder wie hiess die gleich? muss ich auch immer schnell nachschaun)

und dann kann man nach diesen temporären Spalten sortieren.

In deiner speziellen Fall wird die Ausgabe dadurch etwas langsamer!
Die Speicherung der Datumsgrössen jedoch macht so viel mehr sinn!
(Datenplatzoptimierung) und auch für fast alle anderen Funktionen
wirds viel einfacher!

GrEeZ: Miro Dietiker
als Antwort auf: [#52857] Top
 
X