Perl/MySQL: Tabelle sortieren, dann indizieren

  • Hallo,


    eine MySQL-Tabelle soll mit Perl nach Spalte "RechnerRauf" sortiert werden. Dann soll bei dieser sortierten Tabelle eine Index-Spalte "Index" von Null beginnend durchnummeriert werden. Wie mache ich das am einfachsten?


    einfaches Beispiel:


    unsortiert:
    Index RechnerRauf
    5 1345
    2 0222
    ...


    sortiert + neu indiziert sollte es so aussehen:
    Index RechnerRauf
    0 0222
    1 1345
    ...


    Danke


    Gruß
    Fux

    Hardware: Asus M3N78-EM µATX GF 8300 | AMD Sempron 140 | Display VFD USB MDM166A | DVB-S2 TT-3600 USB | RAM 1 GB | WD20EARS 2 TB
    Software: yaVDR 0.5

  • Hallo Fux,


    Zitat

    Original von Fux
    eine MySQL-Tabelle soll mit Perl nach Spalte "RechnerRauf" sortiert werden. Dann soll bei dieser sortierten Tabelle eine Index-Spalte "Index" von Null beginnend durchnummeriert werden. Wie mache ich das am einfachsten?



    Hardy

    Suche: 6 Richtige für die nächste Lottoziehung
    PS: Wer Rechtschreibfehler findet, darf sie behalten!

  • Zitat

    Original von Fux
    Hallo,


    eine MySQL-Tabelle soll mit Perl nach Spalte "RechnerRauf" sortiert werden.


    Relationen sind im Allgemeinen vollkommen unsortiert. Es existiert nur ein Index über ihrem Primärschlüssel, wodurch man den Datensatz findet.


    Die Tabellen selber können durch SQL niemals tatsächlich "sortiert" werden, der Benutzer hat keinerlei Eingriffsmöglichkeiten, um den SQL-Server zu zwingen, Daten sortiert abzulegen.


    Nur das Ergebnis deiner ANFRAGE kann sortiert werden. Bzw. enstsprechend halt in ein neues Feld der Tabelle einer sortierten Anfrage entsprechend so ein Counter eingetragen werden.

    This is a .44 Magnum, the most powerful handgun in the world. It can take your head clean off. You've got to ask yourself one question, Do I feel lucky?
    easyvdr 0.9a2 - TT-DVB-S2-6400 - ASUS AT3IONT-I deluxe - Atom 330 - 1,5TB WD EADS - Denon 1910 - Toshiba 42X3030D - Harmony 700

    Einmal editiert, zuletzt von s_herzog ()

  • Danke für eure schnelle Hilfe!


    Hatte zwischenzeitlich ein Geistesblitz und habs bereits hingekriegt. Meine Lösung will ich euch natürlich nicht vorenthalten:



    Könnte man natürlich in einer Unterfunktion noch bißchen schöner machen, das wars mir dann aber wegen den zweien nicht wert ;)


    Das Ganze dient dazu den Rechner quasi vollautomatisch rauf- und runterzufahren:
    Das Skript sollte alle 10 Minuten mit Hilfe von CRON ausgeführt werden
    der Rechner fährt nur Runter wenn:
    - die Datei RechnerAn nicht gesetzt ist (mit Hilfe dieser Datei
    kann erzwungen werden das der Rechner an bleibt, in dieser Datei
    steht die Unix-Zeit bis zu der der Rechner anbleiben soll)
    - keine anderen Rechner (Clienten) online sind (über Ping)
    - die Musik-JukeBox GiantDisc nicht im Wiedergabe-Modus ist
    - innerhalb der nächsten 25 Minuten kein Aufwecken ansteht
    VDR hab ich noch nicht implementiert, weil ich noch keinen hab ?(


    Vielleicht interessierts ja jemanden. Zur besseren Übersicht hab ich mal das Struktogramm angehängt.


    EDIT: Achja, was mir noch vorschwebt: Wenn ich doch mal manuell (d.h. per Taster :rolleyes:) ausschalte dann werd ich mir verschiedene Init-Stufen einbauen. Bei einmal drücken auf die Aus-Taste macht er nix (könnt ja ein Versehen sein), bei zweimal drücken (Init-Level zwei sozusagen) wird runtergefahren wenn ein Rechner im Netzwerk online sein sollte. Init-Level 3 schaltet dann auch ab, wenn er aufgrund der RechnerAn Datei an sein sollte. Sind quasi unterschiedliche Prioritäten. Wozu das Ganze? Die Kiste soll so wenig wie möglich und doch so oft wie notwendig laufen und selbstständig abschalten.
    Grüße
    Fux

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!