2017-05-03 2 views
0

Je suis en train d'obtenir le résultat du groupe par requête comme mentionné ci-dessousNested requête avec HQL ou CriteriaBuilder Recherche

Description: J'ai une table logdetail et il a le terrain CREATED_DATE et sur le terrain UserId. Je veux connaître le nombre d'utilisateurs qui se connectent par jour. La colonne CREATED_DATE est de type DateTime

select t, count(t) from (select substr(created_date,0,10) as t from logdetail) group by t 

Si je lance requête interne, il fonctionne très bien, mais quand je lance la requête imbriquée obtenir l'erreur ... "unexpected token: (near line 1, column 32"

 
    
    ID  User LoginDate    LogoutDate 
    a000001 Arvind 06-05-17 12:15:00 06-05-17 12:13:00 
    a000002 Murty 07-05-17 12:15:00 07-05-17 12:51:00 
    a000003 John 07-05-17 12:15:00 07-05-17 12:42:00 
    a000004 John 07-05-17 02:27:00 07-05-17 03:25:00 
    a000001 Tej  08-05-17 12:15:00 08-05-17 02:15:00 
    a000001 John 08-05-17 12:15:00 08-05-17 01:55:00 
    

Résultat attendu de la table ci-dessus

 
    
    LoginDate Frequency 
    06-05-17 01 
    07-05-17 03 
    08-05-17 02 
    

note: la table source a plusieurs entrées de même utilisateur John et le deuxième point est le champ de date source a date-heure à la fois si nous devons d'abord obtenir la date p art seulement à partir de là et ensuite appliquer le groupement

Je cherche la solution dans la requête HQL ou Criteria Builder.

Quelqu'un a-t-il une idée à ce sujet?

+0

S'agira-t-il d'une connexion par utilisateur ou de plusieurs connexions pour le même utilisateur et vous avez toujours besoin d'un compte. Aussi si possible, pouvez-vous poster le résultat que vous attendez ici – murthy

+0

ont mis à jour ma question. –

Répondre

1

Vous pouvez comme suit

requête SQL pour obtenir les résultats

Select trunc(LoginDate), count(ID) from logdetail group by trunc(LoginDate); 

HQL requête pour celle-ci sera

select trunc(ld.loginDate), count(ld.Id) from logDetail ld group by trunc(ld.loginDate) 

Note: Sur la requête HQL, carte comme par votre colonne mappage sur les colonnes

Espérons que cela résout votre problème.