Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

डेटाबेस से दिन-प्रतिदिन के आधार पर उपयोगकर्ता नाम लॉग इन करें

DECLARE @from_date DATETIME, @to_date DATETIME

-- populate @from_date and @to_date based on reporting needs
-- possibly using MIN() and MAX() on your logged_in and logged_out fields

DECLARE
  @limit INT
SELECT
  @limit = DATEDIFF(DAY, @from_date, @to_date)
;
WITH
  calendar AS
(
  SELECT DATEADD(DAY, DATEDIFF(DAY, 0, @from_date), 0) AS date, 1 AS inc_a, 2 AS inc_b
UNION ALL
  SELECT DATEADD(DAY, DATEDIFF(DAY, 0, @from_date) + inc_a, 0), inc_a + inc_a + 1, inc_a + inc_a + 2 FROM calendar WHERE inc_a <= @limit
UNION ALL
  SELECT DATEADD(DAY, DATEDIFF(DAY, 0, @from_date) + inc_b, 0), inc_b + inc_b + 1, inc_b + inc_b + 2 FROM calendar WHERE inc_b <= @limit
)

SELECT
  calendar.date,
  your_table.username
FROM
  your_table
INNER JOIN
  calendar
    ON  calendar.date >= DATEADD(DAY, DATEDIFF(DAY, 0, your_table.logged_id), 0)
    AND calendar.date <  your_table.logged_out

संपादित करें

लीनियर के बजाय सीटीई में बाइनरी ग्रोथ। 2^100 तिथियों को उचित सीमा देनी चाहिए।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. जावा में स्ट्रिंग करने के लिए nvarchar (अधिकतम) डेटा प्रकार कनवर्ट करना

  2. मैं क्लॉज में उपनाम का उपयोग कैसे करूं?

  3. SQL सर्वर में हमेशा उपलब्ध उपलब्धता समूह को सेट अप और कॉन्फ़िगर करना

  4. विंडोज़ के लिए PHP 7.0 ओडीबीसी-ड्राइवर

  5. कॉलम dbo या उपयोगकर्ता-परिभाषित फ़ंक्शन या कुल dbo.Splitfn नहीं मिल रहा है, या नाम अस्पष्ट है