Si j'ai une structure de table comme ça:
req_serial req_year emp_num name 15 2014 673 Jo 16 2015 673 Jo 17 2014 785 Noha 17 2015 785 Noha 17 2014 634 Reem 17 2015 634 Reem 18 2014 358 Moh 18 2014 34 Amr 18 2015 34 Amr
Comment get le résultat suivant:
17 18
Je veux get le req_serial
si le même employé existe dans plus d'un req_year
appartient à la même req_serial
? .Comment faire ça?
Un simple GROUP BY
devrait le faire:
SELECT DISTINCT req_serial FROM mytable GROUP BY req_serial, name HAVING COUNT(DISTINCT req_year) > 1
Si la même paire de valeurs req_serial, name
pour req_serial, name
s'étend sur plus d'un an, la requête ci-dessus renvoie cette paire exacte. Nous avons seulement besoin de req_serial
, c'est pourquoi DISTINCT req_serial
est utilisé dans la clause SELECT
.
Démo ici