Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

MS-SQL: Zählen von Einträgen mit Aussortierung von doppelten Einträgen

Frage Entwicklung Datenbanken

Mitglied: dada-lein

dada-lein (Level 1) - Jetzt verbinden

04.10.2005, aktualisiert 05.10.2005, 9547 Aufrufe, 6 Kommentare

Hallo. Gerade hat mir ein Kollege das Forum hier empfohlen, da er mir bei meinem Problem auch nicht recht helfen konnte. Vermutlich gibt es das Problem schon als Lösung, aber ich habe es leider nicht gefunden.

Also ich habe eine DB-Tabelle u.a. mit den Feldern ID und DATE.

Die ID wird täglich neu vergeben, so daß die ID 1 von gestern nicht die gleiche ist wie die ID 1 von heute.

Nun soll ich mit ner SQL-Abfrage die "distinct" IDs des letzten Monats zählen. Jedoch muss ich ja an sich nur die Distinct-IDs je Tag haben.

Bisher habe ich das hier:

SELECT COUNT(DISTINCT id) AS GesamtLetzterMonat
FROM tabelle
WHERE (MONTH(GETDATE()) = MONTH([date]) + 1)

Das wirft mir auch "ganz toll" die Anzahl aller "distinct" IDs raus. Nur hilft mir das ja nichts wenn eine ID an einem anderen Tag auch nochmal vorkommt und nicht mitgezählt wird.

Hat da jemand einen Plan? Jemand hat mir gesagt ich soll es mit folgendem versuchen:

SELECT COUNT(DISTINCT id, [date]) AS GesamtLetzterMonat
FROM tabelle
WHERE (MONTH(GETDATE()) = MONTH([date]) + 1)

Leider funktioniert das nicht. Zumindest bekomme ich immer nen Fehler vom MS-SQL Server.

Hilfe! *seufz*

Vielen Dank im Voraus.

Björn
Mitglied: Biber
04.10.2005 um 18:16 Uhr
Moin, Björn,
wenn es auch ein Holzhammer statt etwas spielerisch Leichtem, Eleganten sein darf:
01.
SELECT  COUNT(DISTINCT( CONCAT(CHAR(id) , CHAR([date])))) As GesamtLetzterMonat 
02.
FROM tabelle  
03.
WHERE (MONTH(GETDATE()) = MONTH([date]) + 1) 
Grüße
Biber
Bitte warten ..
Mitglied: 16640
05.10.2005 um 07:48 Uhr
Moin

01.
SELECT day([date]), COUNT(DISTINCT id) AS GesamtLetzterMonat  
02.
FROM tabelle  
03.
WHERE (MONTH(GETDATE()) = MONTH([date]) + 1)  
04.
group by day([date])
Den Alias würde ich dann noch 'GesamtProTag' oder so nennen

Deine zweite Abfrage müsstest Du dann so umbauen:
01.
SELECT [date], COUNT(DISTINCT id)  AS GesamtLetzterMonat  
02.
FROM tabelle  
03.
WHERE (MONTH(GETDATE()) = MONTH([date]) + 1)  
04.
group by [date]
womit wir dann praktisch bei meinem obigen Vorschlag sind.

hand/dba
Bitte warten ..
Mitglied: 16640
05.10.2005 um 07:50 Uhr
Moin Biber,

hast Du das ausprobiert? Mein SQL-Server meckert CONCAT an
Ich verwende zum Verketten eigentlich immer das '+'

hand/dba
Bitte warten ..
Mitglied: 16640
05.10.2005 um 07:59 Uhr
Hab's mal gerade umgebaut:
01.
SELECT COUNT(DISTINCT( convert(CHAR, id)+convert(CHAR, [date]))) As GesamtLetzterMonat  
02.
FROM tabelle  
03.
WHERE (MONTH(GETDATE()) = MONTH([date]) + 1) 
Kann sein, dass Björn auch genau diese Lösung sucht
(ist noch zu früh für mich)

hand/dba
Bitte warten ..
Mitglied: Biber
05.10.2005 um 10:02 Uhr
@16640

Hast recht, hab ich nicht an einem MS-SQL-Server ausprobiert *schäm
Aber es gibt SQL-Server, an denen das funktioniert.

Egal, ihr habt ja erkannt, was ich meinte *gg

HAND,2
Biber
Bitte warten ..
Mitglied: dada-lein
05.10.2005 um 11:21 Uhr
Cool. Danke Leute. Das scheint genau das zu sein, was ich gesucht habe. *jubel*

Danke danke danke ))

bisdenndann
Björn

PS: Nun ist mir klar warum mein Kollege von diesem Forum so begeistert ist
Bitte warten ..
Ähnliche Inhalte
Datenbanken
gelöst MS SQL Abfragen und Formulare in Webseite einbinden (3)

Frage von Machello zum Thema Datenbanken ...

Backup
Backup-Software für IIS und MS SQL (2)

Frage von Ravelux zum Thema Backup ...

Datenbanken
MS SQL - Update Text Feld mit Steuerzeichen (4)

Frage von emeriks zum Thema Datenbanken ...

Windows Server
gelöst Ms sql management studio 2012 Konfigurationsmanagerstartet nicht (3)

Frage von XPFanUwe zum Thema Windows Server ...

Neue Wissensbeiträge
Google Android

Cyanogenmod alternative Downloadquelle

(2)

Tipp von Lochkartenstanzer zum Thema Google Android ...

Batch & Shell

Batch als Dienst bei Systemstart ohne Anmeldung ausführen

(5)

Tipp von tralveller zum Thema Batch & Shell ...

Sicherheits-Tools

Sicherheitstest von Passwörtern für ganze DB-Tabellen

(1)

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Heiß diskutierte Inhalte
Windows 7
gelöst Lokales Adminprofil defekt (25)

Frage von Yannosch zum Thema Windows 7 ...

Server
gelöst Wie erkennen, dass nur deutsche IPs Zugang zu einer Website haben? (22)

Frage von Coreknabe zum Thema Server ...

LAN, WAN, Wireless
gelöst Statische Routen mit ISC-DHCP Server für Android Devices (22)

Frage von terminator zum Thema LAN, WAN, Wireless ...

Exchange Server
gelöst Migration Exchange 2007 zu 2013 - Public Folder teilweise weg (16)

Frage von Andy1987 zum Thema Exchange Server ...