Ankündigung

Einklappen
Keine Ankündigung bisher.

Select max() From blablabla

Einklappen

Neue Werbung 2019

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

  • Select max() From blablabla

    gibt es eine möglichkeit den maximalen wert aus einer tabelle zu holen,

    z.B.:

    in einer tabelle 3 datensätze:

    id----------name--------------preis------------

    324--------HP XYZ----------------78,14
    563--------HP XYZ----------------78,63
    usw......

    da möchte ich dann nur den selektieren wo der Preis am höchsten ist!!!

    ich hätte mir das irgendwie so vorgestellt:

    select max(preis), name, id from blablabla;
    aber das funktioniert ja nicht, aber gibt es da was in der richtung??

    gruß

  • #2
    Bei mysql: SELECT ... ORDER BY preis DESC LIMIT 1
    Beia nderen Datenbanken zwar auch ODER BY preis DESC
    aber Limit ist eine mysql Erweiterung; das sieht bei anderen Datenbanksystemen anders aus.

    Kommentar


    • #3
      bei mysql müsstes du einfach im querry sort machen... also ("SORT preis ASC ")... ASC is das kleinste oben und bei DESC das größte..
      Homepage: http://www.rbs-page.de

      Kommentar


      • #4
        ok sorry...^^
        Homepage: http://www.rbs-page.de

        Kommentar


        • #5
          ok, danke hat super geklappt!!!

          nur jetzt habe ich eine aufgabe, da weiß ich nicht ob das überhaupt funktioniert!!

          und zwar gehts um das selbe thema, nur er soll auch schauen ob sie verfügbar sind, d.h.: in der tabelle gibt es eine spalte die heißt verfuegbarkeit wo drin steht wieviele produkte gerade verfügbar sind!!!
          die habe ich jetzt auch sortiert und zwar so:

          sort verfuegbarkeit DESC, NUR habe ich jetzt wieder irgend einen preis und nicht den maximalen!?!?!

          gibt es da irgend etwas wo man sagen kann, wenn verfuegbar>10 dann sort preis desc

          weil wenn die tabelle so aussieht:

          id----------name--------------preis------------ verfügbarkeit

          324--------HP XYZ----------------78,14 --------------50
          563--------HP XYZ----------------78,63 --------------30
          usw......

          dann gibt er mir den preis von 78,14 aus, aber 30 verfügbarkeit genügt ja, deswegen möchte ich trotzdem den höheren preis

          so jetz bin ich gespannt ob das auch wieder so schnell geht*gg*

          gruß

          Kommentar


          • #6
            WHERE verfügbarkeit >10 ORDER BY preis DESC LIMIT 1

            Kommentar


            • #7
              ok, danke für die Tipps, jetzt brauche ich nur noch einen update befehl und ich weiß nicht wie ich den am besten formulieren sollte mit einer if-bedinung???

              Bis jetzt bin ich soweit, dass es mir die Datensätze nebeneinander prüft, jetzt soll nur noch eine if bedinung gemacht werden, wenn Preise ungleich dann update von preis in die products_price!!

              PHP-Code:
              <?php
              $products_price_onlineshop 
              mysql_db_query($onlineshop"SELECT products_price, products_model FROM products");
              while (
              $asdf mysql_fetch_array($products_price_onlineshop)) {
                      
              $m $asdf['products_model'];
                      
              $p $asdf['products_price'];
                      
              $products_price_catalog mysql_db_query($bestellsystem"SELECT preis, hersteller_artikelnummer, lieferantennummer, verfuegbarkeit FROM catalog WHERE hersteller_artikelnummer = '" $m "' ORDER BY preis DESC, verfuegbarkeit DESC LIMIT 1");
                      
              $ölkj mysql_fetch_array($products_price_catalog);
                      
              $preis $ölkj['preis'];
                      
              $hersteller $ölkj['hersteller_artikelnummer'];
                      echo 
              "<tr><td>[b]".$p."[/b]</td><td><font size='1'>".$m."</font></td>";
                      echo 
              "<td>[b]".$preis."[/b]</td><td><font size='1' color='blue'>".$hersteller."</font></td><td>".$ölkj['lieferantennummer']."</td><td>".$ölkj['verfuegbarkeit']."</td>";
                  if (
              $p != $preis) {
                          
                  }



                  } 
              ?>
              kann das so stimmen mit der if bedinung?? und jetzt fehlt mi nur noch der update befehl!!, kann mir da jemand weiter helfen???

              gruß

              Kommentar


              • #8
                o.k. jetzt habe ich das ganze nocheinmal durchdacht, und bin draufgekommen das ich die if anweisung nicht brauche, weil das kann ich im update befehl ins where stecken oder nicht???

                mein jetziger code, der noch immer nicht funktioniert:

                PHP-Code:
                <?php
                $products_price_onlineshop 
                mysql_db_query($onlineshop"SELECT products_price, products_model FROM products");
                while (
                $asdf mysql_fetch_array($products_price_onlineshop)) {
                        
                $m $asdf['products_model'];
                        
                $p $asdf['products_price'];
                        
                $products_price_catalog mysql_db_query($bestellsystem"SELECT preis, hersteller_artikelnummer, lieferantennummer, verfuegbarkeit FROM catalog WHERE hersteller_artikelnummer = '" $m "' ORDER BY preis DESC, verfuegbarkeit DESC LIMIT 1");
                        
                $ölkj mysql_fetch_array($products_price_catalog);
                        
                $preis $ölkj['preis'];
                        
                $hersteller $ölkj['hersteller_artikelnummer'];
                        
                $updatebefehl mysql_db_query("UPDATE products SET products_price='" $preis "' WHERE  hersteller_artikelnummer = '" $m "'");
                        echo 
                mysql_error();
                    } 
                ?>
                stimmt der syntax des update befehls überhaupt??? kann ich das so machen mit where?? und wie gebe ich das query(.... an welche tabelle, weil ich hole sie ja aus zwei verschiedenen datenbanken!!

                gruß

                Kommentar


                • #9
                  Da hilft Dir die Doku http://dev.mysql.com/doc/mysql/de/update.html
                  und ausprobieren.

                  Kommentar

                  Lädt...
                  X