Spalten sortieren

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Spalten sortieren

    Hallo,

    ich bin gerade in den Anfängen von PHP/MYSQL und weiß bei einem Problem nicht weiter.

    Ich habe eine mysql Tabelle in der Form:

    Datum | Fehler | merk 1 | merk 2 | merk ... | merk 100
    12.05.02 12 4 0 3 5
    13.05.04 20 3 4 0 1
    .....
    .....

    Nun will ich nach einer Abfrage eine Tabelle haben in der Datum, Fehler und die 5 höchsten Merkmale (merk) sehen kann. Sollten mehr wie ein Datensatz vorhanden sein sollen die 5 Merkmal angezeigt werden, die die höchsten Summen haben.
    Ich hoffe ich habe mich halbwegs deutlich ausgedrückt. Geht das ganz (nur) über Arrays? Und wenn ja wie kann man das realisieren?

    schon mal danke

    grüße

  • #2
    zuerst solltest du mal deine datumsspalte als DATE definieren.

    sortieren kannst du mit ORDER BY


    *VERSCHIEB* nach sql
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      das ist jawohl n sql-prob, oder?

      hast du mal gesucht?

      einfach

      select datum,fehler from db order by datum

      und einmal select max(merk1),max(2),max(3),max(4),max(5) from db

      Kommentar


      • #4
        sorry erst einmal für die einsortierung in der falschen kategorie!

        also die datumspalte ist schon als date definiert mein hauptproblem ist, dass ich nicht weiß, wie ich es auslesen kann, so dass die 5 höchsten merkmale angezeigt werden, alle merkmale anzeigen wäre ja kein problem oder auch nur einzelne, mein problem ist das ich nicht weiß wie ich auf die höchste 5 komme?

        vielen dank schon mal
        grüße

        Kommentar


        • #5
          also die höchsten 5 sind ja dann die aktuellsten 5 ...

          Code:
          SELECT datumsfeld FROM tabelle ORDER BY datumsfeld DESC LIMIT 0,5
          INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


          Kommentar


          • #6
            DEIN Problem ist vielmehr, dass du nicht richtig liest. Sieh dir mal meinen Beitrag von eben an!

            Kommentar


            • #7
              danke für die schnellen antworten.

              die 5 aktuellsten müssen nicht die 5 grössten sein, in der spalte fehler sind die absoluten fehlerzahlen, in den merkmalspalten sind alle verschiedenen mögliche auf aufgeliste (rund 100) stück aufgelistet, wenn ich nun ein datum auswähle will ich, dass ich eine tabelle sehe mit dem datum der fehlerzahl und die 5 häufigsten fehlermerkmalen.. also welche merkmale für die fehler hauptverantwortlich waren.


              @ tobiaZ: glaube ich stehe gerade völlig auf dem Schlauch- könntest du mir mal bitte den code posten -thx. ich weiß gerade nicht wie ich die beiden select abfragen unter einen hut bringen kann.

              thx

              Kommentar


              • #8
                wie du schon sagst, die BEIDEN selectabfragen.

                aber ich hab aus deinem ersten post etwas anderes gelesen als aus deinem zweiten.

                wenn du die merkmale (kombination) die am häufigsten fehler haben/machen (höchste anzahl fehler) haben willst, muss du natürlich

                SELECT merk12345 form db order by fehler desc limit 0,5

                Kommentar


                • #9
                  wenns das auch nicht war, definiere mal bitte

                  die 5 höchsten merkmale
                  BTW: Ist es so, dass du die querys nicht verstehst? Denke ich mal. Du willst sie nämlich einfach testen um dann zu sagen, obs deinem wunsch entspricht oder nicht. das kostet zeit.

                  Kommentar


                  • #10
                    Also ich verstehe Sql Abfragen schon, zumindest die Grundzüge und ich habe auch schon eine Abfrage geschrieben, die mir nach Datumauswahl den Datensatz anzeigt den ich brauche.
                    Mein Problem sind die 5 höchsten die ich nicht hinbekomme.... ich probier es noch einmal verstänlich zu erklären....

                    ein datensatz

                    hat sie spalten

                    datum, fehler, merkmale1 ,merkmale2....... bis merkmale 100

                    jedes merkmal steht für einen anderen fehler: zb funktionsstörung, falsches bauteil usw. damit ich nun sehen kann wo der hauptfehler liegt würde ich gerne die 5 "höchsten" merkmale darstellen, dh. die merkmale die für die spalte "fehler" am meisten beteiligt sind. da eine darstellung von allen 100 spalten sehr unübersichtlich wäre.
                    ich hoffe nun dass ich mich mal verstänlich ausgedrückt habe..

                    vielen dank für eure mühe
                    Zuletzt geändert von disc; 16.07.2003, 13:25.

                    Kommentar


                    • #11
                      also bei so ner tabelle kannst du das eh vergessen.....

                      du solltest dir erst einmal richtige gedanken über die tabellenstruktur machen.

                      zu empfehlen sind 3 tabellen.

                      1. datum/zeit usw
                      2. fehlertypen
                      3. verknüpfung beider tabellen.
                      INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                      Kommentar


                      • #12
                        klasse idee, über hundert spalten zu machen!

                        Kommentar


                        • #13
                          Hallo,

                          wie kann man es besser machen? Könnte zur Not auch die Tabellenstruktur ändern wenn ich dann wüsste, wie ich die 5 höchsten anzeigen könnte.

                          Grüße

                          Kommentar


                          • #14
                            abraxax hat es bereits verraten.

                            Kommentar


                            • #15
                              Hallo,

                              er hat mir zwar verraten, wie ich die Tabellen anlegen muss (was ich soweit auch verstanden hab), aber mir ist noch nicht klar, wie es dann weitergehen soll?

                              grüße

                              Kommentar

                              Lädt...
                              X