Ankündigung

Einklappen
Keine Ankündigung bisher.

Der kleinste Wert

Einklappen

Neue Werbung 2019

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

  • Der kleinste Wert

    hallo an alle.

    ich habe folgendes problem.

    in ein datenbank habe ich 20 Einträge, davon selktiere ich die letzte 10 einträge. von diese 10 will ich die mit der kleinste wert einwählen.

    um die 10 letzte einträge auszuwählen, habe ich folgende code.

    Code:
    $sqlzeile1 =
       "SELECT top 10
           End_zeit from Baken_Belegung
           Where Ofen_name = 'BAKE1' MIN(End_zeit)
            ORDER BY id DESC ";
    $connect->dbSelect($sqlzeile1);
    $last_inserted = $connect->werte;
    $connect->show_data();

    wie kann ich die kleinste wert auswählen. jemand hat mir gesagt villeich kann es mit MIN() laufen, aber wie soll ich es strukturieren.
    Kann jemand mir helfen.

  • #2
    Wie einwählen?

    Du könntest nach Endzeit ASC sortieren und den ersten Eintrag nehmen...

    ansonsten kannste noch min(Endzeit) as minEndzeit einbauen oder so

    Kommentar


    • #3
      mmmmm!!!

      bei einsetzen von Endzeit ASC bekomme ich die 10 kleinste werte aber von die 10 erste eintrage, mit Endzeit DESC bekomme ich 10 letzte einträge, aber von denen brauche ich nur das kleinste und nicht alle. ich glaube das läast sich nur mit MIN() lösen.

      Kommentar


      • #4
        SELECT MIN(endzeit) FROM tabelle ORDER BY id DESC LIMIT 10

        Möglicherweise...

        Kommentar


        • #5
          hi saraneus.

          ich habe dein rat gefolgen und folgende code eingegeben.

          Code:
          $sqlzeile1 = 
          			"SELECT  
                 MIN(End_zeit) from Baken_Belegung
                 Where Ofen_name = 'BAKE1' 
                  ORDER BY id DESC, LIMIT 10";       
          $connect->dbSelect($sqlzeile1);
          $last_inserted = $connect->werte;
          $connect->show_data();
          aber leider kommt folgende fehlermeldung

          Warning: mssql_query(): message: Line 4: Incorrect syntax near '10'. (severity 15) in /projects/tz-www-apache/connect/connect_mssql.inc.php4 on line 70

          Warning: mssql_query(): Query failed in /projects/tz-www-apache/connect/connect_mssql.inc.php4 on line 70
          Line 4: Incorrect syntax near '10'.

          Kommentar


          • #6
            Zitat von ricardillo
            Code:
            $sqlzeile1 = 
            			"SELECT  
                   MIN(End_zeit) from Baken_Belegung
                   Where Ofen_name = 'BAKE1' 
                    ORDER BY id DESC, LIMIT 10";       
            $connect->dbSelect($sqlzeile1);
            $last_inserted = $connect->werte;
            $connect->show_data();
            Was is'n das für'n Komma hinter dem id DESC?!? So musste das machen
            Code:
            $sqlzeile1 = 
            			"SELECT  
                   MIN(End_zeit) from Baken_Belegung
                   Where Ofen_name = 'BAKE1' 
                    ORDER BY id DESC LIMIT 10";       
            $connect->dbSelect($sqlzeile1);
            $last_inserted = $connect->werte;
            $connect->show_data();

            Kommentar


            • #7
              Für Abtippfehler kann ich nix

              Kommentar


              • #8
                ok ok es war ein tip fehler, aber nach folgende code

                Code:
                $sqlzeile1 = 
                         "SELECT  
                       MIN(End_zeit) from Baken_Belegung 
                       Where Ofen_name = 'BAKE1' 
                        ORDER BY id DESC LIMIT 10";        
                $connect->dbSelect($sqlzeile1); 
                $last_inserted = $connect->werte; 
                $connect->show_data();
                bekome ich folgende meldung

                Warning: mssql_query(): message: Line 4: Incorrect syntax near 'LIMIT'. (severity 15) in /projects/tz-www-apache/connect/connect_mssql.inc.php4 on line 70

                Warning: mssql_query(): Query failed in /projects/tz-www-apache/connect/connect_mssql.inc.php4 on line 70
                Line 4: Incorrect syntax near 'LIMIT'.

                Kommentar


                • #9
                  mssql kennt limit nicht!!!!

                  Kommentar


                  • #10
                    limit hat nur mysql

                    Kommentar


                    • #11
                      wenn ich dich richtig verstehe!:

                      1.ich würde das limit weglassen!

                      2.mit mssql_fetch_array($sqlstatement) auslesen!

                      anstatt die daten auszugeben in ein array speichern(geht halt nur wenn du immer weißt wieviel daten ins array kommen)

                      3. Die ersten zehn einträge des arrays auslesen!

                      Kommentar


                      • #12
                        Zitat von evilknevil
                        2.mit mssql_fetch_array($sqlstatement) auslesen!

                        anstatt die daten auszugeben in ein array speichern(geht halt nur wenn du immer weißt wieviel daten ins array kommen)

                        3. Die ersten zehn einträge des arrays auslesen!
                        Moment mal:

                        1. Ein Array lässt sich dynamisch vergrößern.
                        2. Auch mit mssql wirst du Datensatz für Datensatz in einer Schleife auslesen müssen, bis du 10 Datensätze erreicht hast. Anschließend kannst du IMHO den Rest des SQL-Resultats verwerfen. Wozu ALLES lesen?

                        Kommentar


                        • #13
                          kann sein dass ich es falsch verstehe, aber wenn du nur den kleinsten haben willst, sortiere doch nach deiner zeile ASC(ENDING) und dann sagst du LIMIT 0,1 dann hast du nur einen datensatz..

                          Kommentar


                          • #14
                            Zitat von Saraneus
                            1. Ein Array lässt sich dynamisch vergrößern.
                            2. Auch mit mssql wirst du Datensatz für Datensatz in einer Schleife auslesen müssen, bis du 10 Datensätze erreicht hast. Anschließend kannst du IMHO den Rest des SQL-Resultats verwerfen. Wozu ALLES lesen?
                            Vollkommen korrekt! Das frisst nur Resourcen ohne Ende.
                            @ricardillo: Kannst ja ne Zähler-Variable durchlaufen lassen während du ausließt.

                            Kommentar


                            • #15
                              Zitat von mistemef
                              kann sein dass ich es falsch verstehe, aber wenn du nur den kleinsten haben willst, sortiere doch nach deiner zeile ASC(ENDING) und dann sagst du LIMIT 0,1 dann hast du nur einen datensatz..
                              1. Es soll nach ID sortiert werden und zusätzlich davon der kleinste Wert ermittelt werden
                              2. LIMIT existiert bei mssql nicht (siehe oben)

                              Kommentar

                              Lädt...
                              X