Pivot-Tabelle mit der Anzahl der "offenen" Datensätze pro Stunde

Abraham Lincoln

Ich habe effektiv eine Tabelle mit zwei wichtigen Feldern. ReadyDate und CompleteDate.

Ich möchte, dass meine Ausgabe 24 Spalten enthält, die einer Stunde des Tages entsprechen. Jede Spalte gibt mir die Anzahl der Datensätze an, die noch "offen" waren (definiert als ReadyDate vor dem Ende der Stunde, aber CompleteDate nach dem Ende einer Stunde). während dieser Uhr Stunde.

Der Trick besteht also darin, dass ein Datensatz in null oder mehr Spalten angezeigt werden kann. Etwas, das um 6:05 Uhr ReadyDate und um 9:17 Uhr CompleteDate war, wird in der Spalte 6: 00a, 7: 00a und 8: 00a angezeigt.

Also, wenn die Tabelle die folgenden Einträge hat

10-14-2019 06:05   10-14-2019 06:10    (this will populate no columns)
10-14-2019 07:12   10-14-2019 09:30    (this will populate the 7:00 hour and 8:00 hour)
10-14-2019 10:02   10-14-2019 13:55    (this will populate the 10:00 hour, 11:00, 12:00)
10-14-2019 12:50   10-14-2019 15:30    (this will populate the 12:00, 13:00, 14:00)

Ich würde erwarten, dass meine Ausgabe 24 Spalten mit den folgenden Zahlen 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 2, 1, 1, 0, 0, 0, 0 enthält. 0, 0, 0, 0, 0, 0

Ich weiß nicht, wie ich vorgehen soll. Alle Einblicke wäre dankbar

John Cappelletti

EDIT-CORRECTED für eine Schicht von 1 Stunde

Hier ist eine PIVOT-Option, die eine Ad-hoc-Abrechnungstabelle verwendet.

Die Rolle über Mitternacht wird berücksichtigt.

Nicht klar, ob Sie Zeilen nach Datum wollten. Wenn nicht, wäre es eine kleine Sache zu entfernen.

Beispiel

;with cte1 as (
    Select Date  = convert(date,D) 
          ,Item  = datepart(hour,D)
          ,Value = 1
     From  YourTable A
     Cross Apply (
                    Select Top (DateDiff(HOUR,ReadyDate,CompleteDate)+0) 
                           D=DateAdd(HOUR,-1+Row_Number() Over (Order By (Select Null)),ReadyDate) 
                     From  master..spt_values n1,master..spt_values n2
                  ) B
),  cte2 as ( 
    Select Date
          ,B.Item 
          ,B.Value
     From  (Select distinct Date from cte1 ) a
     Cross Join (Select Top 24 Item=-1+Row_Number() Over (Order By (Select NULL)),Value=0 From master..spt_values n1 ) B
)
Select *
 From  (Select * from cte1
        Union All
        Select * from cte2
        ) src
 Pivot (sum(Value) for Item in ([0] ,[1] ,[2] ,[3] ,[4] ,[5] ,[6] ,[7] ,[8] ,[9] ,[10],[11],
                                [12],[13],[14],[15],[16],[17],[18],[19],[20],[21],[22],[23]) ) pvt

Kehrt zurück

Geben Sie hier die Bildbeschreibung ein

Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.

Bei Verstößen wenden Sie sich bitte [email protected] Löschen.

bearbeiten am
0

Lass mich ein paar Worte sagen

0Kommentare
LoginNach der Teilnahme an der Überprüfung

Verwandte Artikel

Alle Datensätze mit der Anzahl der dritten Tabelle auflisten, aber die zweite Tabelle ist eine Pivot-Tabelle - MySQL Laravel

Anzahl der pro Tag erstellten Datensätze

Reduzierung der Anzahl der Datensätze in der CTE-Tabelle

Speichern der Anzahl der Datensätze in der SQL-Tabelle

Aktualisieren Sie die Datensätze in der Tabelle mit der Anzahl> 1

Begrenzen Sie die Anzahl der Datensätze in der Tabelle in Rails

Extrahieren der Anzahl der Datensätze in jeder Tabelle

SQLite Anzahl der Bestellungen pro Stunde

Verbinden Sie zwei Tabellen zusammen mit der Anzahl der Datensätze aus der zweiten Tabelle basierend auf der Bedingung

SQL: Verbinden Sie Datensätze in einer Tabelle mit der Anzahl von anderen mithilfe von CASE

Get List sortiert nach Anzahl der Datensätze aus einer anderen Tabelle mit Linq

MySQL, um die Anzahl der Einträge pro Stunde in einer Tabelle anzuzeigen

Apache Spark: Anzahl der Datensätze pro Partition abrufen

Anzahl der pro Minute eingefügten Datensätze

Anzahl der Datensätze in einer Tabelle nicht in mehreren Tabellen vorhanden

Django 2.1+ Bulk-Update-Datensätze mit der Anzahl der zugehörigen Datensätze?

Transformieren von DataFrame, um die Anzahl der Datensätze für eine bestimmte Stunde abzurufen

Datawarehouse Anzahl der Datensätze

Tabelle basierend auf der Anzahl der Datensätze in einer anderen Tabelle aktualisieren

Anzahl der zugeordneten Datensätze mit Bedingungen abrufen

Anzahl der Datensätze mit Feld in MongoDB abrufen

Anzahl der Datensätze mit einem bestimmten Wert

SQL-Abfrage mit Tabelle nachschlagen, um die Anzahl der Datensätze basierend auf einem Tag auszuwählen

Begrenzung der Datensätze pro Seite und der Anzahl der Seiten in DynamoDB

Einschränkung der Tabelle zur Begrenzung der Anzahl der zu speichernden Datensätze

Kombinieren Sie die neuesten Datensätze mit der Tabelle

Subsetting nach Anzahl der Beobachtungen pro Stunde in R

Ermitteln Sie die Anzahl der Anzeigenklicks pro Stunde

Alle Datensätze mit Pivot-Tabelle

TOP Liste

  1. 1

    So legen Sie mit dem Interface Builder unterschiedliche führende Speicherplätze für unterschiedliche Geräte fest

  2. 2

    Fügen Sie eine weitere Schaltfläche zu gwt Suggest Box hinzu

  3. 3

    Wie konvertiere ich einen Vektor von Bytes (u8) in eine Zeichenfolge?

  4. 4

    Wie kann ich in SCSS mehrere Klassen zu einer einzigen kombinieren?

  5. 5

    Wie konvertiert man einen Datenrahmen im langen Format in eine Liste mit einem geeigneten Format?

  6. 6

    Speichern Sie ein MPAndroidChart-Diagramm in einem Bild, ohne es in einer Aktivität anzuzeigen

  7. 7

    Gruppieren Sie Datenrahmenspalten nach ihrem Datum (die Spaltentitel enthalten) und fassen Sie die Instanzen von Einsen und Nullen in R . zusammen

  8. 8

    Tomcat - Leiten Sie den alten Kontextstamm zum neuen Kontextstamm um

  9. 9

    Eclipse Oxygen - Projekte verschwinden

  10. 10

    Wie wählt man Unterschiede mit drei Tabellen aus?

  11. 11

    Tic Tac Toe-Spiel im React-Reset-Button funktioniert nicht

  12. 12

    So berechnen Sie die Verfügbarkeit von Anwendungen (SLA)

  13. 13

    ElasticSearch BulkShardRequest ist aufgrund von org.elasticsearch.common.util.concurrent.EsThreadPoolExecutor fehlgeschlagen

  14. 14

    Wie kann ich den Kaskadenmodus global einstellen?

  15. 15

    Python: Spalten mit demselben Namen zusammenführen, wobei der Mindestwert beibehalten wird

  16. 16

    So erhalten Sie eine gleichmäßige Höhe für alle Eingabefelder

  17. 17

    Wie erstelle ich einen neuen übergeordneten Knoten außerhalb der .ref (/ path) in der Firebase-Echtzeitdatenbank mithilfe von Cloud-Funktionen (Typescript)?

  18. 18

    Was ist schneller: SUM über NULL oder über 0?

  19. 19

    Wie kann ich eine verschachtelte Schleife mit lapply in R ersetzen?

  20. 20

    Kann ich ein Tkinter-Canvas erstellen, das mehrere Zeilen in einem Text-Widget umfasst?

  21. 21

    Ärgerliches Problem mit yaml, das ich nicht lösen kann

heißlabel

Archiv