Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 614837
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 13, 20262026-05-13T18:09:17+00:00 2026-05-13T18:09:17+00:00

Need help to create a query for this. Start | End 2009-01-01 06:00:00 |

  • 0

Need help to create a query for this.

Start               | End
2009-01-01 06:00:00 | 2009-01-01 14:00:00
2009-01-01 06:00:00 | 2009-01-02 06:00:00
2009-01-02 07:00:00 | 2009-01-02 08:00:00
2009-01-03 06:00:00 | 2009-01-03 14:00:00
2009-01-03 09:00:00 | 2009-01-03 11:00:00
2009-01-04 22:00:00 | 2009-01-05 06:00:00
2009-01-05 01:00:00 | 2009-01-05 10:00:00

I would like to get un-overlapped time for interval (2009-01-01 00:00:00 – 2009-01-31 00:00:00)
with sum for each day like this:

Date       | Duration
2009-01-01 | 18
2009-01-02 | 7
2009-01-03 | 8
2009-01-04 | 2
2009-01-05 | 10

Then looking for the total sum per whole requested interval.

Are you able to help construct this query?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-13T18:09:18+00:00Added an answer on May 13, 2026 at 6:09 pm

    Try this:

    WITH Times AS (
            SELECT DISTINCT(Start) AS Time FROM intervals
            UNION ALL
            SELECT DISTINCT([End]) AS Time FROM intervals),
         Days AS (SELECT DISTINCT DATEADD(dd, 0, DATEDIFF(dd, 0, Time)) AS Time FROM Times),
         Times2 AS (
            SELECT Time FROM times
            UNION ALL
            SELECT Time FROM days),
         Times3 AS (SELECT ROW_NUMBER() OVER (ORDER BY Time) AS rn, Time FROM Times2),
         Times4 AS (
            SELECT T1.Time AS Start, T2.Time AS [End]
            FROM Times3 T1
            JOIN Times3 T2
            ON T1.rn + 1 = T2.rn),
         IntervalParts AS (
             SELECT DISTINCT Times4.*
             FROM Times4
             JOIN intervals
             ON Times4.Start >= intervals.Start AND Times4.[End] <= intervals.[End]),
         IntervalsByDay AS (
             SELECT 
                 DATEADD(dd, 0, DATEDIFF(dd, 0, Start)) AS Day,
                 DATEDIFF(hh, Start, [End]) AS Duration 
             FROM IntervalParts)
    SELECT Day, SUM(Duration) AS Duration
    FROM IntervalsByDay
    GROUP BY Day
    

    Results:

    Day                     Duration 
    2009-01-01 00:00:00.000 18
    2009-01-02 00:00:00.000 7
    2009-01-03 00:00:00.000 8
    2009-01-04 00:00:00.000 2
    2009-01-05 00:00:00.000 10
    

    To restrict it to a certain range, just add an appropriate WHERE clause.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I am newbie to db programming and need help with optimizing this query: Given
I need help on this following aspx code aspx Code: <asp:Label ID =lblName runat
I need help understanding some C++ operator overload statements. The class is declared like
I need help with this route map routes.MapRoute(Blog_Archive, Blog/Archive/{year}/{month}/{day}, new { controller = Blog,
i need help with disk_total_space function.. i have this on my code <?php $sql=select
I really need help with interfaces in general... Any resources that you guys would
I need help getting my head around the difference between my current OOP notion
I need help with the best practice to localize asp mvc apps, I saw
I need help to replace all \n (new line) caracters for in a String,
I have a regex call that I need help with. I haven't posted my

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.