2010-12-13 4 views
0

Mon SQL est un peu rouillé et JPQL est entièrement nouveau pour moi. J'ai une table avec les événements de connexion enregistrés, qui ont un identifiant d'utilisateur et une heure. Je suis en train de sélectionner le numéro unique de cadeau de l'ID utilisateur dans une sélection d'événements de connexion qui a eu lieu dans une période de temps spécifiée:Sélection de connexions uniques dans une période donnée

 Query query = em.createQuery(
       "SELECT COUNT(*) FROM (" + 
        "SELECT DISTINCT s.userId FROM UserSession s " + 
        "WHERE s.loginTime >= :fromTime " + 
        " AND s.loginTime < :toTime " + 
       ") " 
     ); 
     query.setParameter("fromTime", new Date(fromTime)); 
     query.setParameter("toTime", new Date(toTime)); 

Cela me donne une erreur d'analyse syntaxique (le ( après FROM est inattendu) il est donc apparemment pas le chemin à parcourir. Que devrais-je faire à la place?

Exemple: Si j'ai les dossiers {A, B, B, A, A, C, A, B, D} tout dans la plage de dates, je voudrais la requête pour retourner 4.

Répondre

Questions connexes