AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Berechnungsfehler ?

Ein Thema von haentschman · begonnen am 16. Mai 2013 · letzter Beitrag vom 16. Mai 2013
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.387 Beiträge
 
Delphi 12 Athens
 
#1

Berechnungsfehler ?

  Alt 16. Mai 2013, 10:35
Datenbank: ElevateDB • Version: ? • Zugriff über: ?
Guten Morgen...

Bitte sagt mir wer doof ist. Ich oder die DB...

select * from A -> 2824 Datensätze
select distinct * from A -> 2756 Datensätze
select * from A group by X having Count(*) = 1 -> 2694 Datensätze
select * from A group by X having Count(*) > 1 -> 62 Datensätze -> 2694 + 62 = 2756...korrekt

aaaber...
2824 - 2756 = 68 ! Wo sind meine 6 Datensätze?

...ich mache mir erst mal nen Kaffee. Vieleicht hilfts.
  Mit Zitat antworten Zitat
Benutzerbild von baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Berechnungsfehler ?

  Alt 16. Mai 2013, 10:49
statt
Code:
select distinct * from A
evtl.

Code:
select distinct X from A
?
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.387 Beiträge
 
Delphi 12 Athens
 
#3

AW: Berechnungsfehler ?

  Alt 16. Mai 2013, 10:50
Danke für deine Antwort.

Das *, damit alle Felder einbezogen werden und damit der gesamte Datensatz eindeutig ist.
  Mit Zitat antworten Zitat
Benutzerbild von baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Berechnungsfehler ?

  Alt 16. Mai 2013, 10:51
Aber du machst doch auch einen Group by X, demnach sollte evtl auch das distinct wissen was zu gruppieren ist?
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#5

AW: Berechnungsfehler ?

  Alt 16. Mai 2013, 10:53
mal abgesehen von der ungewöhnlichen groub by Anweisung- nie von der DB gehört:
Wenn Du die mehrfachen Datensätze zählst, zählst Du mit dieser Anweisung nicht die tatsächliche Zahl, sondern die Zahl der eindeutigen, aber mehrfach vorhandenen Datensätze.
Richtig wäre wohl, ein "select * from .. not in [eindeutig]" oder "[alles] minus [eindeutig]".
Gruß, Jo
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.387 Beiträge
 
Delphi 12 Athens
 
#6

AW: Berechnungsfehler ?

  Alt 16. Mai 2013, 10:55
having verlangt immer eine Gruppierung nach einem Feld. Es ist aber egal ob ich in die Gruppierung ein Feld oder alle aufnehme... es bleiben 62 Datensätze.

Zitat:
mal abgesehen von der ungewöhnlichen groub by Anweisung- nie von der DB gehört:
Du hast noch nie von group by gehört ?

Geändert von haentschman (16. Mai 2013 um 10:58 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#7

AW: Berechnungsfehler ?

  Alt 16. Mai 2013, 10:59
Ich kenne ElevateDB nicht, werden NULL's mit gruppiert?
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.387 Beiträge
 
Delphi 12 Athens
 
#8

AW: Berechnungsfehler ?

  Alt 16. Mai 2013, 11:04
Da muß ich dich leider enttäuschen. In der Tabelle gibt es nicht einen NULL Wert. Alle Felder sind ausgefüllt.

Danke trotzdem...
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#9

AW: Berechnungsfehler ?

  Alt 16. Mai 2013, 11:10
Zitat:
Du hast noch nie von group by gehört ?
Natürlich, es ging um "Select * " versus "Group by x"
Macht m.E. keinen Sinn bzw erinnert mich an mySQL mit "automatischer/intelligenter" Gruppierung, das ist Schrott.

Unabhängig davon scheint mir das Verfahren wegen der Gruppierung von Mehrfachdatensätzen falsch.
Gruß, Jo
  Mit Zitat antworten Zitat
Benutzerbild von baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: Berechnungsfehler ?

  Alt 16. Mai 2013, 11:12
Warum ein select distinct * überhaupt weniger Datensätze als ein select * liefert, ist mir ein Rätsel, ausser diese mir auch unbekannte Datenbank, hat in ihren Tabellen keine eindeutigen IDs.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:55 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