Forum |  HardWare.fr | News | Articles | PC | Prix | S'identifier | S'inscrire | Aide | Shop Recherche
626 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [RESOLU]requete SQL

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[RESOLU]requete SQL

n°2299257
yann7622
Posté le 17-04-2017 à 14:44:52  profilanswer
 

Bonjour,
 
Je suis sur phpmyadmin et je tente de réaliser une requête sql me permettant de répondre à la question suivante:  
 
Je veux avoir  la liste des maladies dans ma table "event_gd" qui reviennent sur au moins une période (deux années) qui sont au format YYYY-MM-DD.
 
Par exemple je veux avoir la liste de toute les maladies qui apparaissent au minimum une fois dans deux années au minimum différente.  
 
 
 
En espérant avoir été assez claire !  
 
Bonne journée  :)


Message édité par yann7622 le 24-04-2017 à 18:54:27
mood
Publicité
Posté le 17-04-2017 à 14:44:52  profilanswer
 

n°2299298
antac
..
Posté le 18-04-2017 à 11:10:30  profilanswer
 

Quelle est la structure de "event_gd" ?


---------------
CYC12 : Validés :  NFP108 - NFE102 - EiCnam@2015 - NSY115 - NFP107 - NFE107 - CFA109 -  BULATS 3 - TET102 - NFE209 - NFE210 - ENG221. A suivre ENG210 - Mémoire ?
n°2299299
Devil'sTig​er
Jee & Cee on the rock !
Posté le 18-04-2017 à 11:56:33  profilanswer
 

Sans la structure, le plus simple est de trouver deux fois le résultat, et de croiser. Cad tu fais deux select (chaque select vérifie que pour l'année X tu as au moins 1x la maladie qui apparait), et ensuite tu croise les résultats avec INTERSECT: http://sql.sh/cours/intersect
 
Pour que intersect marche, il faut que les résultats soit comparable, donc il te faut par exemple SELECT maladie_name <blablabla> INTERSECT SELECT maladie_name <blablabla>


---------------
JunZZi | Jee & Cee
n°2299302
rufo
Pas me confondre avec Lycos!
Posté le 18-04-2017 à 13:57:51  profilanswer
 

Tu calcules le nb d'occurrences de chaque maladie par année (sous-requête) et tu gardes celles dont la somme du nb d'occurrences par année est >= 2.
Ex :  
SELECT t1.idmaladie, COUNT(Tmp.NBOCC) AS NB FROM OccurrencesMaladies t1 INNER JOIN
(SELECT st.idmaladie, FORMATAGE_DATE(st.datemaladie, "Y" ) AS Annee, COUNT(st.idoccurrence) AS NBOCC FROM OccurrencesMaladies st WHERE st.datemaladie BETWEEN date1 AND date2 GROUP BY st.idmaladie, Annee) AS Tmp ON (t1.idmaladie = Tmp.idmaladie)
GROUP BY t1.idmaladie HAVING NB >=  2


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Cantine Calandreta : http://sourceforge.net/projects/canteen-calandreta
n°2299339
antac
..
Posté le 18-04-2017 à 16:55:01  profilanswer
 

La solution de Devil's me parait plus jolie


---------------
CYC12 : Validés :  NFP108 - NFE102 - EiCnam@2015 - NSY115 - NFP107 - NFE107 - CFA109 -  BULATS 3 - TET102 - NFE209 - NFE210 - ENG221. A suivre ENG210 - Mémoire ?
n°2299343
rufo
Pas me confondre avec Lycos!
Posté le 18-04-2017 à 19:03:21  profilanswer
 

intersec est pas forcément dispo sur tous les sgbd il me semble.


Message édité par rufo le 18-04-2017 à 19:03:32

---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Cantine Calandreta : http://sourceforge.net/projects/canteen-calandreta
n°2299367
H3bus
Troll Inside
Posté le 19-04-2017 à 08:14:37  profilanswer
 

Effectivement, a priori INTERSECT n'est pas disponible sous mySQL. Mais dans le lien de Devil il y a une proposition d'équivalent.


Message édité par H3bus le 24-04-2017 à 19:07:05

---------------
sheep++
n°2299695
yann7622
Posté le 24-04-2017 à 18:53:00  profilanswer
 

Merci pour vos réponses ! Tout fonctionne  :)  :)  
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [RESOLU]requete SQL

 

Sujets relatifs
[microsoft query] étendre requête comme formule excelSQL Requete Union
[SQL] Question sur une requête[Excel] Création d'une requête SQL ?
Problème requête SQL: command not properly ended[SQL] Requete sur WSUS
[SQL/SAS] Requête qui ne fonctionne pasRequête SQL avec liaison multi-tables
[Résolu] Requete SQL[SQL] Requètes imbriquées ?
Plus de sujets relatifs à : [RESOLU]requete SQL



Copyright © 1997-2016 Hardware.fr SARL (Signaler un contenu illicite) / Groupe LDLC / Shop HFR