none
Select als Login Zähler für Sessions in einer bestimmten Zeitspanne RRS feed

  • Frage

  • Hallo ihr alle,

    Ich habe eine SQL Datenbank und dort gibt es eine Tabelle mit allen Login Sessions (mit Startzeitpunkt und Endzeitpunkt in UNIX Zeit).

    Ich versuche eine Abfrage zu finden/erstellen die die Logins in einer bestimmten Zeit zählt (Woche, Monat, Jahr).

    Aber wenn die Person sich einloggt, dürfen vom Beginn des Logins alle weiteren Logins dieser Person vom ersten Login an 24h lang nicht mitgezählt werden.

    Beispiel:

    Mike Start 01.01.2013 - 12:00 Ende 01.01.2013 - 12:33

    Mike Start 01.01.2013 - 15:22 Ende 01.01.2013 - 16:53

    Mike Start 01.01.2013 - 20:01 Ende 01.01.2013 - 21:49

    Mike Start 02.01.2013 - 15:00 Ende 02.01.2013 - 17:33

    Mike Start 02.01.2013 - 18:21 Ende 02.01.2013 - 20:11

    ....

    Es darf hierbei nur als 2 gezählt werden, weil Mike am 01.01.2013 - 12:00 gestartet hat und von da an 24h (also bis 02.01.2013 - 12:00) ist nur eine Session. Der zweite und dritte Login sind in dieser ersten Zeitperiode und dürfen deshalb nicht mitgezählt werden.

    Dann sind die 24h vom ersten Login vorbei. Er logt sich ein weiteres mal ein. Von dort beginnen wieder 24h, so dass der letzte Login auch wieder nicht zählt, also nur 2 insgesamt.

    Ich weis, dass das wohl nicht ganz so einfach ist. Ich denke aber das man für diese Abfrage eigentlich nicht mehr als Loginname, Startzeit and Endezeit braucht.

    Ich habe mal etwas unbeholfen angefangen:

    SELECTCASE WHEN Loginname = Loginname and StartTime between StartTime and StartTime + 86400 and Endtime between StartTime and StartTime + 86400

                THEN ....

           END

    FROM Table


    Wer möchte kann auch gerne andere Befehle wie Update nutzen, falls nötig.

    Ich hoffe hier kann mir jemand weiter helfen.

    Grüße

    Mario

    Dienstag, 3. Dezember 2013 10:30

Antworten

Alle Antworten

  • Hallo Mario,

    Du hast ja schon eine Antwort auf Deine gleiche Frage im en-US Forum erhalten: Select as Login counter for sessions in a period of time; es wäre nett, wenn Du Doppelpost verlinkst, damit sich nicht die halbe Community verteilt mit Deinem Problem beschäftigt.


    Olaf Helper

    [ Blog] [ Xing] [ MVP]

    Dienstag, 3. Dezember 2013 12:10
  • Hallo Olaf,

    entschuldigung. Damit haben sie natürlich Recht.

    Ich muss sagen, ich dachte nicht das jemand in beiden Bereichen hilft, da es ja doch nicht immer so ganz einfach ist.

    Der Ansatz der Herrn aus dem US Forum ist ganz gut, aber leider noch nicht so wie es sein sollte.

    Vielleicht kann ja auch hier jemand helfen.

    Im deutschen könnte ich es wohl auch einfacher erklären.

    MfG

    Mario

    Dienstag, 3. Dezember 2013 13:29
  • Am 03.12.2013 schrieb Mario Clarson:

    Ich habe eine SQL Datenbank und dort gibt es eine Tabelle mit allen Login Sessions (mit Startzeitpunkt und Endzeitpunkt in UNIX Zeit).

    In wievielen Foren hast Du noch gefragt?
    http://www.mcseboard.de/topic/196017-select-als-login-z%C3%A4hler-f%C3%BCr-sessions-in-einer-bestimmten-zeitspanne/
    Überhaupt nicht nett.


    Servus
    Winfried

    Gruppenrichtlinien
    WSUS Package Publisher
    HowTos zum WSUS Package Publisher
    NNTP-Bridge für MS-Foren

    Dienstag, 3. Dezember 2013 21:09
  • Sehr hilfreich hier eine Link-Sammlung anzulegen.

    Danke, genau danach habe ich gefragt. -.-

    Mittwoch, 4. Dezember 2013 06:20
  • Sehr hilfreich hier eine Link-Sammlung anzulegen.

    Danke, genau danach habe ich gefragt. -.-

    Nuja, stells dir mal so vor:

    Es liest hier jemand dein Posting. In den zwei, fünf, ... anderen Communities auch jeweils verschiedene Leute.

    Alle arbeiten sich durch deine Anforderungen, bauen eine Testtabelle und Testdaten auf, experimentieren mit den SQL Statements herum, ...

    Die Arbeit ist aber ziemlich für die Katz, wenn Du in anderen Foren bereits Antworten erhalten hast, u.a. weil es sein kann, dass diese die gleiche, von dir verworfene Lösung erarbeitet haben, weil dort auf Rückfrage neue Details bekannt werden, die Du dann ja leider nicht sofort in die anderen Threads schreibst, usw.

    Und ja, die "Linksammlung" ist hilfreich, es wäre aber besser gewesen, diese wäre von dir gekommen. Denn wer weiß, wo Du noch gefragt hast.

    Es geht weniger darum, dass Du in verschiedenen Communities fragst, sondern eher darum, dass die Antwortenden das wissen, damit Sie das o.g. prüfen können. Denn ehrlich gesagt hat keiner Lust, sich ein Bein für dich zu brechen, wenn das schon jemand anders getan hat.


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community

    Mittwoch, 4. Dezember 2013 08:34
    Moderator
  • Ok verzeihung.

    Wenn das Problem gelöst werden konnte, wird sofort jeder Thread als "Beantwortet" markiert. Damit sollte sich dann also keiner ein Bein brechen, wenn es schon jemand andres getan hat.

    Mittwoch, 4. Dezember 2013 09:16
  • Ok verzeihung.

    Ist ja eigentlich kein Problem. Wie gesagt, durch die Querverweise auf die anderen Threads kann man als Antwortender ggfs. Informationen sehen, die dann sowohl dir als auch dem Antwortenden helfen, schneller ans Ziel zu kommen.


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community

    Mittwoch, 4. Dezember 2013 10:21
    Moderator