ID Anzahl ermitteln

Hallo Leute,

ich dachte vielleicht gibt es bei PostGreSQL eine Funktion die automatisch die ids zählt und sie zurück gibt.

Möchte wissen wieviel Datenstätze ich in einer Tabelle habe.

Gibt es da eine Möglichkeit, oder muß ich sie mit einer selbst geschriebenen Funktion ermitteln?

  1. Alle selektieren
  2. mit Schleife durchlaufen und zählen

Bitte um eine kleine Hilfestellung.

mfg
Darian

Welche ids?

Möchte wissen wieviel Datenstätze ich in einer Tabelle habe.

select count(1) from table;

Gibt es da eine Möglichkeit, oder muß ich sie mit einer selbst geschriebenen Funktion ermitteln?

  1. Alle selektieren
  2. mit Schleife durchlaufen und zählen

Bitte um eine kleine Hilfestellung.

mfg
Darian


test=*# select * from foo;
 id
----
  1
  2
  3
  3
(4 rows)

Time: 1.006 ms
test=*# select count(1) from foo;
 count
-------
     4
(1 row)

Time: 1.698 ms
test=*# select id, count(1) from foo group by id order by id;
 id | count
----+-------
  1 |     1
  2 |     1
  3 |     2
(3 rows)

Time: 1.427 ms
test=*#

reicht das? Falls nicht: erklär Dein Problem genauer.

Andreas

Hallo,

das mit dem count(*) trifft es schon recht gut.

select count(1) from foo;

Nur wie kann ich im programm dann darauf zugreifen?

Bei Datensätzen geht das dann ja ein bisschen anders.

lg Darian

Hä?

Ein ‘select count(1) from foo;’ liefert Dir ein Resultat, genau so wie ein ‘select name from foo where id=1;’

Andreas

Das heißt ich muß es dann wieder mit pg_fetch_array so in array umwandeln, und dann kann ich darauf zugreifen…?

Ok danke, ich werde es einfach mal probieren.

lg Darian

Du könntest auch pg_fetch_row() nutzen, das erspart ein kleines bischen Overhead, weil die Spaltennamen des Ergebnisses nicht abgerufen werden müssen.

Das Ergebnis steht dann in $row[0].

Ui ok, gibt es irgendwo eine Liste was wieviel overhead verursacht. Werde das dann bei größeren Projekten berücksichtigen.

lg