AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Summe der Tage zwischen 2 Datums

Summe der Tage zwischen 2 Datums

Ein Thema von Walter Landwehr · begonnen am 20. Sep 2017 · letzter Beitrag vom 20. Sep 2017
Antwort Antwort
Walter Landwehr

Registriert seit: 28. Mär 2006
Ort: 32816 Schieder-Schwalenberg
379 Beiträge
 
Delphi 10.4 Sydney
 
#1

Summe der Tage zwischen 2 Datums

  Alt 20. Sep 2017, 13:50
Datenbank: Firbird • Version: 2,5,5 • Zugriff über: IBO / IBExpert
Hallo,

ich habe eine Tabelle mit vielen Tagen. Ein Datum kann mehrfach vorkommen.

Nun möchte ich per SQL ermitteln wieviel Tage im Jahr ich gearbeitet habe.

Mein Ansatz war so:
Delphi-Quellcode:
Select count(R.behandlungsdatum) as Summe , R.behandlungsdatum from tbl_rechnungspositionen R where R.behandlungsdatum between '01.01.2016and '31.12.2016'
group by R.behandlungsdatum
Das Ergebnis sieht so aus:

usw.

 
Eintrage Datum
14 05.01.2016
09 06.01.2016
die Anzeige der Tabelle ist ein bisschen Unübersichtlich. Es sind 2 Spalten (Eintrage und Datum).

Ich möchte aber nur eine Zahl die besagt wieviel Tage ist im Jahr gearbeitet worden.

Hat jemand eine Idee?
Walter Landwehr
Mfg

Walter
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Summe der Tage zwischen 2 Datums

  Alt 20. Sep 2017, 14:08
Die Anzahl Tage zwischen 2 Datumswerten kann man mit DateDiff ermitteln

https://firebirdsql.org/refdocs/lang...-datediff.html
Markus Kinzler
  Mit Zitat antworten Zitat
Walter Landwehr

Registriert seit: 28. Mär 2006
Ort: 32816 Schieder-Schwalenberg
379 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Summe der Tage zwischen 2 Datums

  Alt 20. Sep 2017, 14:23
Ich will aber nicht die Anzahl der Tage zwischen 2 Datumswerten sondern die Anzahl der Tage an denen gearbeitet wurde als eine Zahl.

In Meinen Beispiel ist es eine 2.
Walter Landwehr
Mfg

Walter

Geändert von Walter Landwehr (20. Sep 2017 um 14:27 Uhr)
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.752 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Summe der Tage zwischen 2 Datums

  Alt 20. Sep 2017, 14:27
.. und gearbeitet wurde wenn ein Eintrag in der Spalte "BehandlungsDatum" eingetragen wurde?

Sollte da nicht dann auch ein "select count(*)..." ausreichend sein?

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
SProske

Registriert seit: 16. Feb 2015
Ort: Halle/S.
116 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#5

AW: Summe der Tage zwischen 2 Datums

  Alt 20. Sep 2017, 14:35
Code:
Select count(distinct R.behandlungsdatum) as Summe from tbl_rechnungspositionen R where R.behandlungsdatum between '01.01.2016' and '31.12.2016'
Sollte doch funktionieren?
Sebastian
  Mit Zitat antworten Zitat
stifflersmom

Registriert seit: 8. Dez 2005
Ort: 24994 Holt
370 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#6

AW: Summe der Tage zwischen 2 Datums

  Alt 20. Sep 2017, 14:36
Dann noch vorsichtshalber ein distinct und das sollte ausreichen

:zu spät
  Mit Zitat antworten Zitat
TBx
(Administrator)

Registriert seit: 13. Jul 2005
Ort: Stadthagen
1.874 Beiträge
 
Delphi 12 Athens
 
#7

AW: Summe der Tage zwischen 2 Datums

  Alt 20. Sep 2017, 14:44
So aus dem Kopf könnte das so aussehen:

Anzahl der Behandlungstage im Zeitraum:

SQL-Code:
select count(cast(rp.behandlungsdatum as date)) as Summe
  from tbl_rechnungspositionen rp
  where cast(rp.behandlungsdatum as date) between '01.01.2016and '31.12.2016'
Liste der Behandlungstage mit der Anzahl der Positionen pro Tag:

SQL-Code:
select cast(rp.behandlungsdatum as date) as Datum,
           count(rp.*) as Summe
  from tbl_rechnungspositionen rp
  where cast(rp.behandlungsdatum as date) between '01.01.2016and '31.12.2016'
  group by 1
Da ist natürlich noch Optimierungspotential drin, was die Geschwindigkeit angeht.

Den Cast mache ich da übrigens, um möglicherweise vorhandene Zeitwerte zu eliminieren.
Thomas Breitkreuz
Gruß Thomas
- Admin DelphiPRAXIS
- Admin Delphi-Treff
- Embarcadero MVP
  Mit Zitat antworten Zitat
Walter Landwehr

Registriert seit: 28. Mär 2006
Ort: 32816 Schieder-Schwalenberg
379 Beiträge
 
Delphi 10.4 Sydney
 
#8

AW: Summe der Tage zwischen 2 Datums

  Alt 20. Sep 2017, 14:46
Danke Sebastian das klappt.
Walter Landwehr
Mfg

Walter
  Mit Zitat antworten Zitat
TigerLilly

Registriert seit: 24. Mai 2017
Ort: Wien, Österreich
1.172 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: Summe der Tage zwischen 2 Datums

  Alt 20. Sep 2017, 15:08
Darf ich nörgeln?!

Wenn man mit COUNT() etwas ermitteln, möge man das bitte nicht "Summe" nennen, sondern vielleicht "Anzahl"?
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 09:31 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