2017-09-02 1 views
0

J'ai un scénario ci-dessous dans RucheTrouver l'employé des mêmes deux derniers chiffres ID employé dans Ruche

Emp ID | Employee name | Emp salary  
112 | Prakash  | 33333  
212 | Aakash  | 5567 
322 | Kishore  | 565 
3242 | hhjh   | 76676 
4325 | chhh   | 565 
422 | Ramesh  | 34555 

Je veux savoir le nom de l'employé dont les deux derniers chiffres d'identité des employés sont les mêmes:

par ex. Prakash et Aakash ont le même dernier chiffre de l'ID de l'employé. & Kishore et Ramesh ont également le même.

Sortie:

112 | Prakash    
212 | Aakash  
322 | Kishore 
422 | Ramesh 
+1

Ajouter le résultat demandé (dans un format de table) –

+0

Edité .REMERCIE à Patrick! –

+0

** (1) ** sélectionnez le texte et appuyez sur Ctrl-k pour formater le code. ** (2) ** Vous n'avez toujours pas fourni le résultat demandé (dans un format de tableau) –

Répondre

0
select `Emp ID` 
     ,`Employee name` 

from (select `Emp ID` 
       ,`Employee name` 
       ,count(*) over (partition by `Emp ID` % 100) as cnt 

     from mytable 
     ) t 

where cnt > 1 
; 

+--------+---------------+ 
| emp id | employee name | 
+--------+---------------+ 
| 212 | Aakash  | 
| 112 | Prakash  | 
| 422 | Ramesh  | 
| 322 | Kishore  | 
+--------+---------------+ 
+0

Pouvez-vous expliquer –

+0

Vous décompactez la fonction 'count'? –

+0

Voici ma compréhension: trancher les données par les deux derniers chiffres et en comptant les tranches avec chaque Emp ID, nom de l'employé. Est-ce que ma compréhension correcte? –