Re: Take the data from table and rotate the member on every 7th day or starting day of the week and continue for whole week continue till the date range - Mailing list pgsql-sql

From nikhil raj
Subject Re: Take the data from table and rotate the member on every 7th day or starting day of the week and continue for whole week continue till the date range
Date
Msg-id CAG1ps1y8PdxGG6t6Bzd2wsheb4B+M2BUmCktcBsSwAZhAG7oxw@mail.gmail.com
Whole thread Raw
In response to Re: Take the data from table and rotate the member on every 7th day or starting day of the week and continue for whole week continue till the date range  (Steve Midgley <science@misuse.org>)
List pgsql-sql
Hi Steve,

Yes, that is correct.  

On Sun, Feb 26, 2023 at 3:26 AM Steve Midgley <science@misuse.org> wrote:


On Sat, Feb 25, 2023 at 12:37 PM nikhil raj <nikhilraj474@gmail.com> wrote:

Hi All,

Need help in rotation of data in Postgres.

There is a table called crew_details

enter image description here

There is a requirement to rotate the crew members for in weekly or on the every 7th day and continue for rest 6days the same order of for the given date range un till it reach end date . and the expected output should be like this below

>

Please can any one help me in in the rotation in postgres SQL


Thanks for posting the table and output. I'm not totally clear on the business requirements here but it seems like you have a crew rotation sequence that is, in this case modulus 5?

I'm not sure I've got the SQL skills to easily make this in a single query (but surely others here can). But just to clarify the business rules for such a SQL wizard, I would think the solution involves some kind of hidden variable (new column, aggregation, built in function?) where the number 1 team member's crew position number is incremented by 1 mod 5 for each new shift date. Whenever that tracking counter becomes 1 again, convert their actual shift order number to 5, and subtract 1 from every other crew members' crew position number. Does that sound like the correct business rule for the process you're trying to create?

Steve

pgsql-sql by date:

Previous
From: Steve Midgley
Date:
Subject: Re: Take the data from table and rotate the member on every 7th day or starting day of the week and continue for whole week continue till the date range
Next
From: Shaozhong SHI
Date:
Subject: Looking for an efficient way to replace efficient NOT IN when landling very large data