Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Formulierung einer Count-SQL Abfrage (https://www.delphipraxis.net/116700-formulierung-einer-count-sql-abfrage.html)

Jelly 4. Jul 2008 16:49

Datenbank: MSSQL • Version: 2000 • Zugriff über: -

Formulierung einer Count-SQL Abfrage
 
Ich habe folgende Abfrage:
SQL-Code:
Select ParamId, ValueType, count(ValueType) as Anzahl from vwValueGrouping where ParamId = 6 group by ParamId, ValueType
welche mir im konkreten Fall von ParamId=6 folgendes liefert:
Code:
ParamID ValueType Anzahl
6        B         5
6        I         1
Was mich aber lediglich an dieser Abfrage interessiert, ist die Anzahl der zurückgelieferten Datensaätze. Da ich das ganze in T-SQL abarbeiten muss, und ich keinesfalls CURSORS einsetzen will, um die Zeilen zu zählen, suche ich nach einer Möglichkeit, in einem einzigen Select die Anzahl der Datensätze zu ermitteln... Ich hab irgendwie ein Brett vorm Kopf, kann auch an der Hitze liegen... Folgendes funktioniert unter MSSQL leider nicht
SQL-Code:
select count(*) from
(Select ParamId, ValueType, count(ValueType) as Anzahl from vwValueGrouping where ParamId = 6 group by ParamId, ValueType)
Ich brauch definitiv demnächst ein Bier :wall:

DeddyH 4. Jul 2008 16:52

Re: Formulierung einer Count-SQL Abfrage
 
Meinst Du das?
SQL-Code:
Select count(ValueType) as Anzahl from vwValueGrouping where ParamId = 6

omata 4. Jul 2008 16:53

Re: Formulierung einer Count-SQL Abfrage
 
SQL-Code:
SELECT COUNT(*)
FROM (SELECT ParamId, ValueType, COUNT(ValueType) AS Anzahl
      FROM vwValueGrouping
      WHERE ParamId = 6 
      GROUP BY ParamId, ValueType) x

Jelly 4. Jul 2008 16:56

Re: Formulierung einer Count-SQL Abfrage
 
Oh Mann, und da such ich mir einen ab, und das Einzige was MSSQL bemängelt, ist dass ich meinem Subselect einen Alias X verpasse :wall:

Vielen Dank... Klappt jetzt einwandfrei :thumb:

shmia 4. Jul 2008 17:28

Re: Formulierung einer Count-SQL Abfrage
 
Na, da kann man aber ein Count() wegoptimieren:
SQL-Code:
SELECT COUNT(*) AS Anzahl
FROM (SELECT ParamId, ValueType
      FROM vwValueGrouping
      WHERE ParamId = 6 
      GROUP BY ParamId, ValueType) x

Jelly 4. Jul 2008 21:18

Re: Formulierung einer Count-SQL Abfrage
 
Zitat:

Zitat von shmia
Na, da kann man aber ein Count() wegoptimieren:

Jeppp, das stimmt wohl :zwinker:

Mein Subselect sieht aber mittlerweilen so aus:
SQL-Code:
      SELECT ParamId, ValueType, COUNT(ValueType) AS Anzahl
      FROM vwValueGrouping
      WHERE ParamId = 6 
      GROUP BY ParamId, ValueType
      HAVING count(ValueType) > 1
Brauchs also doch wieder :mrgreen:


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:30 Uhr.

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