Problème group by - SQL/NoSQL - Programmation
Marsh Posté le 20-05-2014 à 12:21:58
  !
 ! 
 
As-tu essayé de rajouter le champ "node_id" dans ta clause GROUP BY ? 
Marsh Posté le 20-05-2014 à 13:46:38
Clair, moi, j'aurais fait une simple GROUP BY node_id.
Marsh Posté le 20-05-2014 à 17:46:54
Yep, mais ça marche pas. 
 
Par contre j'ai fait comme ça : 
 
| Code : 
 | 
 
  
 
Marsh Posté le 20-05-2014 à 17:52:18
Bizarre que ça marche pas  t'es sous Mysql ?
 t'es sous Mysql ?
Marsh Posté le 20-05-2014 à 19:58:49
bonsoir 
dans le select : 
---------------------------------------- 
1.select 
2.case 
3.    when d.deal_numadm!=0 and d.deal_numadm is not null 
4.        then 'MA' || d.deal_nummas || '_' || d.ntt_id 
5.    when d.deal_numadm=0 or d.deal_numadm is null 
6.        then 'Master' || d.deal_nummas || '_' || d.ntt_id 
7.end as node_id, 
8.sum(cva.cva), sum(dva.dva), d.deal_nummas 
9.from acc_processed_cva cva 
---------------------------- 
 
il y a 2 champs et 2 sum 
donc dans le group by il faut grouper sur les 2 champs : 
node_id (ou réécrire le case) et d.deal_nummas 
 
c'est "tout" simple... 
 
Marsh Posté le 20-05-2014 à 11:38:47
Bonjour,
j'ai une question sur une de mes requêtes :
Dans cette requête, le select d.deal_numadm est juste là pour montrer qu'il est différent dans chacune des lignes retournées par la requête :
NODE_ID SUM(CVA.CVA) SUM(DVA.DVA) DEAL_NUMADM DEAL_NUMMAS
MA10700_1731413 953180 1373440 22012 10700
Master10700_1731413 4886330 4318999 0 10700
MA10700_1731413 1654 1192 12054 10700
MA10700_1731413 4 (null) 83442 10700
MA10700_1731413 14 1093 10775 10700
MA10700_1731413 963 (null) 10779 10700
Ce que je voudrais, c'est une requête qui retourne ça (sans le d.deal_numadm):
NODE_ID SUM(CVA.CVA) SUM(DVA.DVA) DEAL_NUMMAS
MA10700_1731413 955815 1375725 10700
Master10700_1731413 4886330 4318999 10700
avec la 1ere ligne qui soit la somme des lignes 1, 3, 4, 5 et 6 du résultat précédent.
J'ai essayé en enlevant le d.deal_numadm du group by de la requête, mais évidemment ça ne marche pas :
ORA-00979: not a GROUP BY expression
00979. 00000 - "not a GROUP BY expression"
C'est possible de faire ce que je veux ?
Message édité par Llorenzaccio le 20-05-2014 à 17:47:41