Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Select Frage zu Count(*) (https://www.delphipraxis.net/202868-select-frage-zu-count-%2A.html)

Trafel21 17. Dez 2019 10:47

Datenbank: firebird • Version: 2.5 • Zugriff über: Delphi XE

Select Frage zu Count(*)
 
Hallo zusammen,

ich wollte fragen ob es möglich ist die Anzahl der Zeilen einer Select Abfrage zusammen mit der ganzen Tabelle auszugeben?


Code:
Select
 count(*) as Test,
 Name,
 City
from Employee
Wie muss ich das Group by schreiben? Bei mir kommt immer ein "Invalid expression" Fehler. Ich möchte alle Namen und Städte ausgegeben haben, und als 3. Spalte die Anzahl der ganzen Zeilen, auch wenn sie bei jeder Zeile bei der Abfrage steht.

hoika 17. Dez 2019 10:53

AW: Select Frage zu Count(*)
 
Hallo,
wozu soll das Group By da helfen?

Mach mal ein Beispiel mit 3 Werten, also welche Werte in der Tabelle stehen und was rauskommen soll.

Select
(Select count(*) Employee E1 as Test),
E2.Name,
E2.City
from Employee E2

Das ergibt als Spalte 1 immer die Gesamtzahl der Zeilen (also der Einträge in der Tabelle Employee) und als Spalten 2/3 Name und Ort

mkinzler 17. Dez 2019 10:54

AW: Select Frage zu Count(*)
 
Entweder als Subselect oder einen Join

TigerLilly 17. Dez 2019 10:54

AW: Select Frage zu Count(*)
 
Ich bin nicht sicher, was du zählen möchtest.

Das da

Code:
Select
  count(*) as Test,
  Name,
  City
 from Employee
 Group by Name, city
liefert die Anzahl unterschiedlicher Einträge von City und Name.

TigerLilly 17. Dez 2019 10:56

AW: Select Frage zu Count(*)
 
Das da

Code:
Select
  (select count(*) from Employee) as anzahl,
  Name,
  City
 from Employee
liefert dir die Anzahl der Tabelle und dann jeden (auch doppelte) Einträge.

Trafel21 17. Dez 2019 11:17

AW: Select Frage zu Count(*)
 
Danke für die Antwort,

okay. Was ist wenn ich innerhalb einer Select Procedure bin mit 20 Eingabeparametern?

Wäre es auch möglich einfach das Suspend zu zählen? x.x

Code:
select
  DBDATE,
  DBUSER,
  DBKORRDATE,
  DBKORRUSER,
  .
  .
  .
  ITEM
from
  SELECT_PROCEDURE( :IN_ZULASSUNG, *hier stehen min 20 Parameter*)

TigerLilly 17. Dez 2019 11:47

AW: Select Frage zu Count(*)
 
Das ist ein bisschen im Trüben fischen. Kannst du genauer sagen, was du erzielen möchtest?

Die kurzen Antworten auf deine Fragen lauten:
* nicht viel
* ja

hoika 17. Dez 2019 11:58

AW: Select Frage zu Count(*)
 
Hallo,
Zitat:

Wäre es auch möglich einfach das Suspend zu zählen?
Ja, lokale Variable definieren

Counter=0;
For Select Into do
begin
Counter=Counter+1;
Suspend;
end;

Dann bekommst Du sowas wie
1 Halle
2 Berlin

Aber ohne mal eine klare Ausgabe, was konkret Du dir wünschst, sage ich nichts mehr ;)

mkinzler 17. Dez 2019 12:07

AW: Select Frage zu Count(*)
 
Dann ist der richtige Wert nur im letzen Datensatz.

Trafel21 17. Dez 2019 12:36

AW: Select Frage zu Count(*)
 
Ah... mit einem Counter hab hatte ich es versucht, aber hatte nicht die Logik bedacht, das es ja nur im letzten Datensatz steht.

Danke. ^^


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:26 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz