Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi SQL Abfrage (keine DS Doppelt) ? (https://www.delphipraxis.net/58700-sql-abfrage-keine-ds-doppelt.html)

Karstadt 11. Dez 2005 12:27

Datenbank: MYSQL • Version: 4 • Zugriff über: ODBC; DBE

SQL Abfrage (keine DS Doppelt) ?
 
Hallo. Gibt es so eine abfrage?

Nr:
1
2
1
2
3
4
5
6
7

Wieviel unterschiedliche nummer existierten in diese Tabelle?

MFG

Jelly 11. Dez 2005 12:59

Re: SQL Abfrage (keine DS Doppelt) ?
 
SQL-Code:
select distinct Nr from Tabelle
Liefert dir schon mal die Liste der unterschiedlichen Nr.... Das ganze in eine View vwNr gepackt:
SQL-Code:
select count(Nr) as Anzahl from vwNr

omata 11. Dez 2005 13:25

Re: SQL Abfrage (keine DS Doppelt) ?
 
Moin,

Zitat:

Zitat von Jelly
SQL-Code:
select count(Nr) as Anzahl from vwNr

das kann man aber auch mit einer einzigen Anweisung erledigen...

SQL-Code:
SELECT COUNT(*) AS anzahl
FROM Tabelle
GROUP BY nr
MfG
Thorsten

dfried 11. Dez 2005 13:45

Re: SQL Abfrage (keine DS Doppelt) ?
 
Folgende Anweisung bringt das richtige Ergebnis:

SQL-Code:
Select count(distinct id) from vwNr

omata 11. Dez 2005 13:57

Re: SQL Abfrage (keine DS Doppelt) ?
 
@dfried: Danke für den Hinweis.

Mein Beitrag war ja wohl völlig daneben. Sorry.

Zitat:

Zitat von dfried
SQL-Code:
Select count(distinct id) from vwNr

Aber warum dann den View benutzen? Dann kann man doch auch alles in eine Anweisung packen bzw. das DISTINCT ist doch jetzt doppeltgemoppelt.

SQL-Code:
SELECT COUNT(DISTINCT id) FROM Tabelle
MfG
Thorsten

dfried 11. Dez 2005 14:37

Re: SQL Abfrage (keine DS Doppelt) ?
 
Zitat:

Zitat von omata
Aber warum dann den View benutzen? Dann kann man doch auch alles in eine Anweisung packen bzw. das DISTINCT ist doch jetzt doppeltgemoppelt.

SQL-Code:
SELECT COUNT(DISTINCT id) FROM Tabelle

Jo, sorry, das war "Cut&Paste", hab gar nicht nach dem Tabellennamen im ersten Beitrag geschaut, sondern einfach den erstbesten da dran kopiert... :wink:

Jelly 11. Dez 2005 15:37

Re: SQL Abfrage (keine DS Doppelt) ?
 
Zitat:

Zitat von omata
das kann man aber auch mit einer einzigen Anweisung erledigen...

SQL-Code:
SELECT COUNT(*) AS anzahl
FROM Tabelle
GROUP BY nr

Nee, das klappt nicht. Als Ergebnis kriegst du so eine ganze Tabelle geliefert, nicht jedoch die Gesamtzahl der Records.

dfried's Lösung hingegen scheint zu klappen. Soweit hatte ich nicht gedacht. Das erspart damit also das Erstellen der View.


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:53 Uhr.

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