Development questions

Write a SOQL query to find all LoginHistory records for a specific User in the last 24 hours where the login status failed.

DevelopmentMediumPwCEYKPMG

Filter LoginHistory by user, time window and non-success status.

apex
Datetime since = Datetime.now().addHours(-24);
List<LoginHistory> failed = [
    SELECT UserId, LoginTime, Status, SourceIp, LoginType, Application
    FROM LoginHistory
    WHERE UserId = :userId AND LoginTime >= :since AND Status != 'Success'
    ORDER BY LoginTime DESC
];

Using a datetime bind variable is the reliable way to express "last 24 hours", since date literals work in whole days.

soqlscenariologin-historyaudit