max(count())=

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

  • #16
    teste mal so

    Code:
    select dummy.anzahl, dummy.deptno, dept.dname
    from dummy, dept
    where dept.deptno = dummy.deptno
    having dummy.anzahl=max(dummy.anzahl)
    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


    • #17
      der wählt keine zeilen aus.
      so sieht's momentan aus:
      PHP-Code:
      //Verbindung herstellen
      $conn=mysql_connect("localhost","name","pass") or die(mysql_error());
      echo 
      "Verbindung hergestellt.<br />";

      //Datenbank wählen
      mysql_select_db("dbname") or die(mysql_error());
      echo 
      "Datenbank ausgewählt.<br />";

      //Temp. Tabelle anlegen
      mysql_query("CREATE TEMPORARY TABLE dummy(id int not null) 
      SELECT count(ename) as anzahl, e.deptno as deptno 
      from emp e, dept d 
      where e.deptno=d.deptno 
      group by e.deptno, d.dname"
      ) or die(mysql_error());
      echo 
      "Tempor&auml;re Tabelle erstellt.<br />";

      //Abfrage
      $result1=mysql_query("select dummy.anzahl, dummy.deptno, dept.dname
      from dummy, dept
      where dept.deptno = dummy.deptno
      having dummy.anzahl=max(dummy.anzahl)"
      ,$conn) or die(mysql_error());
      echo 
      "Tempor&auml;re Tabelle abgefragt.<br />";

      //Ergebnisanzeige
      while ($row=mysql_fetch_array($result1,MYSQL_ASSOC))
      {
          echo 
      "-----------<br />";
          foreach(
      $row as $key=>$value)
              echo 
      "$key:  $value<br />";
          echo 
      "-----------<br />";
      }
      mysql_close($conn);
      echo 
      "Verbindung beendet.<br />"
      Und das is die Ausgabe
      Code:
      Verbindung hergestellt.
      Datenbank ausgewählt.
      Temporäre Tabelle erstellt.
      Temporäre Tabelle abgefragt.
      Verbindung beendet.
      NIcht wirklich ergiebig oder?
      Zuletzt geändert von mrhappiness; 21.01.2003, 21:12.
      Ich denke, also bin ich. - Einige sind trotzdem...

      Kommentar


      • #18
        der fehler muss hier liegen... bin mir jetz aber auch nicht sicher.

        echo "-----------<br />";
        foreach($row as $key=>$value)
        echo "$key: $value<br />";
        echo "-----------<br />";

        gib das mal classic aus.

        PHP-Code:
        echo $row["anzahl"]; 
        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


        • #19
          no go

          hab mal folgendes eingefügt
          PHP-Code:
          ...
          echo 
          "Temporäre Tabelle abgefragt.<br />";
          $ergebnis_count=mysql_num_rows($result1);
          echo 
          "Anzahl gelieferter Datensätze: $ergebnis_count<br />"
          und er sagt, es wären 0 Datensätze geliefert worden, also geht er auch gar nicht in die ausgabeschleife (und die ausgabe funktioniert auch nich classic oder mit print_r($row) )
          Ich denke, also bin ich. - Einige sind trotzdem...

          Kommentar


          • #20
            wohl wahr ..

            liefert die abfrage überhaupt ein ergebnis? z.b. unter phpmyadmin?

            wofür verwendest du das 'MYSQL_ASSOC' ?
            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


            • #21
              auch php-myadmin liefert kein ergebnis, daher würde ich fast wetten, dass die abfrage nich hinhaut, aber warum?

              hab das mysql_assoc noch dri, als ich einfach mit print_r ausgegeben hab (hatte da dann jeden wert zweimal; einmal über 0-basierten index und einmal über namen; sozusagen mysql_both )
              Ich denke, also bin ich. - Einige sind trotzdem...

              Kommentar


              • #22
                ok. du wolltest doch aber bestimmt die temp-tabelle anfragen. richtig?
                zumindest sehe ich das so aufgrund der ausgaben.

                warum machst du das nicht?
                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


                • #23
                  Original geschrieben von Abraxax
                  ok. du wolltest doch aber bestimmt die temp-tabelle anfragen. richtig?
                  zumindest sehe ich das so aufgrund der ausgaben.

                  warum machst du das nicht?
                  du siehst aus meinen angaben dass ich die temp tabelle abfragen will und fragst mich warum ich es nicht mache?
                  Hä bitte? *g*

                  meine temp tabelle sieht jetzt so aus:
                  • anzahl (der mitarbeiter)
                  • Abteilungsnummer
                  und ich bin (muss ich zu meiner schande gestehen), nicht in der lage, die id des eintrags mit der höchsten anzahl an mitarbeitern auszulesen
                  Ich denke, also bin ich. - Einige sind trotzdem...

                  Kommentar


                  • #24
                    Original geschrieben von mrhappiness
                    du siehst aus meinen angaben dass ich die temp tabelle abfragen will und fragst mich warum ich es nicht mache?
                    Hä bitte? *g*
                    hatte mich da wohl verguckt. mit der abfrage drüber ...
                    -> from emp e, dept d
                    mein fehler...

                    Original geschrieben von mrhappiness
                    meine temp tabelle sieht jetzt so aus:
                    • anzahl (der mitarbeiter)
                    • Abteilungsnummer
                    und ich bin (muss ich zu meiner schande gestehen), nicht in der lage, die id des eintrags mit der höchsten anzahl an mitarbeitern auszulesen
                    das sollte die lösung sein ...

                    Code:
                    SELECT * FROM DUMMY HAVING anzahl = MAX(anzahl);
                    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


                    • #25
                      no go.

                      der liefert mir weder ein ergebnis noch eine fehlermeldung.

                      wenn ich statt max(anzahl) den höchstwert nehme, nämlich 6 dann geht's, aber dass is ja nich immer so :-(

                      und es muss doch irgendwie anders gehen, als mit einer abfrage das maximum rauszufinden und dann mit ner zweiten abfrage danachzu suchen oder?
                      Ich denke, also bin ich. - Einige sind trotzdem...

                      Kommentar


                      • #26
                        habe jetzt mal eine eigene dummy-tabelle gemacht...

                        Code:
                        CREATE TABLE dummy (
                          anzahl int(11) NOT NULL default '0',
                          nummer int(11) NOT NULL default '0'
                        ) TYPE=MyISAM;
                        
                        #
                        # Dumping data for table `dummy`
                        #
                        
                        INSERT INTO dummy VALUES (12, 30);
                        INSERT INTO dummy VALUES (5, 10);
                        INSERT INTO dummy VALUES (15, 15);
                        INSERT INTO dummy VALUES (16, 45);
                        man muss auf jeden fall ein GROUP BY verwenden, wenn man MAX() verwenden möchte.
                        habe so spontan ohne subquery keine lösung parat.

                        nur die hier, aber ihr kennt ja offiziell noch kein LIMIT, oder wie war das?

                        Code:
                        SELECT nummer,anzahl FROM dummy ORDER BY anzahl DESC LIMIT 1;
                        oder eben mit der besagten zweiten abfrage.

                        Code:
                        # anfrage was MAX() ist????
                        SELECT MAX(anzahl) FROM dummy;
                        
                        # zweite abfrage mit anzahl aus erster abfrage.
                        SELECT nummer,anzahl FROM dummy WHERE anzahl = '$anzahl_rueckgabe_der_ersten_query';
                        aber da hast du schon zwei querys....
                        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


                        • #27
                          auf jeden fall mal danke für deine hilfe

                          werd's wohl mit 2 querys machen :-(
                          Ich denke, also bin ich. - Einige sind trotzdem...

                          Kommentar


                          • #28
                            wenn du es dennoch mit einer Q schaffen solltest ..... => POSTEN ...
                            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


                            • #29
                              versprochen
                              Ich denke, also bin ich. - Einige sind trotzdem...

                              Kommentar

                              Lädt...
                              X