Si tu veux faire un group by, il faut dire par quoi tu regroupes... group by 1 est à mon avis une abération. Group by est la pour regrouper les lignes par paquets et pouvoir faire des calculs (comptage, somme) à l'intérieur de ces paquets...
Qu'espère tu comme résultat ?
si c'est :
2,2 (colonne b=2, 2 lignes au total dans la table)
4,2 (colonne b=4, 2 lignes au total dans la table)
tu va utiliser une fonction analytique
select b, count(*) over () from test
ou faire un produit cartesien comme ceci :
1 2
| select test.b, nb
from test, (select count(*) nb from test) |
Certains rdbms accepte des choses qui n'ont pas forcement de sens ou qui ne sont pas dans la norme... J'ai souvenir que ça marchait aussi dans sybase (et que la clause group by n'était pas obligatoire)...
Partager