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 6859791
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 27, 20262026-05-27T02:19:38+00:00 2026-05-27T02:19:38+00:00

I have table that records logins for users. I’m having trouble finding a query

  • 0

I have table that records logins for users. I’m having trouble finding a query that will efficiently pull all unique users who have not had a login timestamp before a date of my choosing. I can easily find this information if I query per-user.

Fields are essentially:

 id, username, login, logout

I need a query that will find all usernames that have no logout timestamp in 2011-11. The fact that there are multiple join events for a single easier is what’s confusing me.

  • 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-27T02:19:39+00:00Added an answer on May 27, 2026 at 2:19 am

    Exclude all users that had at least one logout at the date in question with a negated semi join (EXISTS) like this:

    SELECT u.username
    FROM   users u
    WHERE  NOT EXISTS (
       SELECT *
       FROM   log
       WHERE  log.username = u.username
       AND    date(logout) = '2011-11-11')
    

    This will not multiply rows from users. If 2011-11 is supposed to signify the month of November 2011:

    ...
       AND    logout >= '2011-11-01 0:0'
       AND    logout <  '2011-12-01 0:0'
    

    Additional answer to question in comments

    Flag the first login of users in the log

    ALTER TABLE log ADD COLUMN first_log boolean; -- boolean flag
    
    UPDATE log
         ,(SELECT username, min(login) AS min_log
           FROM   log
           GROUP  BY 1) x
    SET    log.first_log = TRUE
    WHERE  (log.username, log.login) = (x.username, x.min_log);
    

    You can do that, but there are many more rows in table log than in table users. I would advise instead:

    ALTER TABLE users ADD COLUMN first_log datetime;
    
    UPDATE users u
         ,(SELECT username, min(login) AS min_log; -- datetime col
           FROM   log
           GROUP  BY 1) x
    SET    u.first_log = x.min_log
    WHERE  u.username = x.username
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have a table that records a sequence of actions with a field that
I have a table that has records with a structure similar to this.. ID
I have one table that has sales records and another table that has additional
I have a table that has 8 million records, with many fields, including lat/long
I have a table that has about 1/2 million records in it. Each month
I have a table that has millions of records and we are looking at
I have about 40000 records in that table that contains plain text and within
I have a MySQL table holding lots of records that i want to give
I have an application that records activity in a table (Oracle 10g). The logging
I have a table within my database that has many records, some records share

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.