* und count (*)

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

  • * und count (*)

    Hi,

    Kann mir jemand saegn was sich folgende Codes unterscheiden

    PHP-Code:
    $r mysql_query("SELECT count(*) FROM tabelle1" WHERE ...);
    $s mysql_query("SELECT * FROM tabelle1 WHERE ..."); 

  • #2
    mit count(*) zählst du die von der Abfrage betroffenen Datensätze
    mit * bekommst du die von der Abfrage betroffenen Datensätze und kannst sie mit einem weiteren Befehl ausgeben.

    gruss

    Kommentar


    • #3
      aber SELECT braucht Spaltename oder?
      mit * ist damit gemeint, dass alle Spaltename selektiert wird,

      Was ist nun mit SELECT count(*) ?
      heisst das, dass zunächst alles selektiert wird, man bekommt aber keine betroffene Datensätze, sondern nur die betroffene Datensätze wird gezählt?

      Kommentar


      • #4
        Mit select count(*) kannst du auch weiter arbeiten.
        du machst darunter eine While Schleife mit
        $row = mysql_fetch_array($res)

        und lässt dir dann den Spalteninhalt mit $row[spalte_name] ausgeben.
        *winks*
        Gilbert
        ------------------------------------------------
        Hilfe für eine Vielzahl von Problemen!!!
        http://www.1st-rootserver.de/

        Kommentar


        • #5
          Original geschrieben von Wotan
          Mit select count(*) kannst du auch weiter arbeiten.
          du machst darunter eine While Schleife mit
          $row = mysql_fetch_array($res)

          und lässt dir dann den Spalteninhalt mit $row[spalte_name] ausgeben.
          hä ? das versteh ich jetzt auch nicht, mir * arbeite ich zb auch immer weiter, sprich auch ich tu mysql_fetche_arrayen ?!
          meine Projekte bestaunen: http://www.kleiza.de

          Kommentar


          • #6
            count(), sum(), avg() usw... sind "aggregatfunktionen" und liefern GENAU EIN ergebnis zurück...

            count(*)
            zählt ALLE Datensätze..auch unvollständige...

            count(foo)
            würde nur Datensätze zählen in denen foo (die spalte) einen wert hat...

            select *
            liefert die gesamte tabelle zurück...
            _________

            Kommentar

            Lädt...
            X