alle maschinen_namen distinct wählen und dann zählen

Kampfgummibaerlie

Datenbank-Guru
Beiträge
735
Also, mein neues Anliegen (habe ja schon eine Weile nix mehr gepostet) wäre, dass ich gerne die Anzahl aller Maschinen mit identischem Namen habe.

Ich kann das Ganze so zählen (Beispiel):

Code:
select count(maschinen_id) from maschinen where maschinen_name = 'Normale'

Ich würde jetzt nur gerne in der Homepage, die ich auch schon bastel, angezeigt wird, wieviele mit dem gleichem Namen in Summe vorhanden sind.
Muss ich das irgendwie in eine PHP-Function einbauen? (Arbeite umfangreich dort mit variablen) Oder geht das auch irgendwie in der Datenbank selbst (Was mir persönlich lieber wäre [<3 Datenbanken])

EDIT:
Um meine Vorstellung zu beschreiben:
Es sollte dort stehen:

Stück Name
x y

EDIT 2:
Noch ein Kaffee......
PS: Ich habe wirklich Spaß am Ganzen :D
 
Zuletzt bearbeitet:
Werbung:
Code:
test=# create table m as select s as id, 'maschine'||(s%5)::int as name from generate_series(1, 15) s;
SELECT 15
test=*# select count(id) from m where name = 'maschine1';
 count
-------
  3
(1 Zeile)

test=*# select * from m;
 id |  name   
----+-----------
  1 | maschine1
  2 | maschine2
  3 | maschine3
  4 | maschine4
  5 | maschine0
  6 | maschine1
  7 | maschine2
  8 | maschine3
  9 | maschine4
 10 | maschine0
 11 | maschine1
 12 | maschine2
 13 | maschine3
 14 | maschine4
 15 | maschine0
(15 Zeilen)
test=*# select count(id), name from m group by name;
 count |  name   
-------+-----------
  3 | maschine0
  3 | maschine3
  3 | maschine1
  3 | maschine4
  3 | maschine2
(5 Zeilen)

test=*#

zähle bitte mal nach, ob das stimmt.
 
stimmt, von überall hast du 3 in der tabelle "m" ;)

EDIT:
Wenn ich nachdenke, irgendwo auch logisch, 5 Maschinen in 15 Reihen entspricht 3 Reihen pro Maschine ;)

EDIT2:
Dafür ist das group by gut? Ich habe mich noch nie damit auseinandergesetzt xD
 
Werbung:
Zurück
Oben