2010-10-01 6 views
2

Je veux faire le pseudo-SQL suivante:SQL: Groupe Tous

SUM(SELECT a FROM tab WHERE b > 0); 

Cette syntaxe ne fonctionne pas (du moins pas dans SQLite), donc je suis en train de comprendre le phrasé approprié.

SELECT SUM(a) FROM tab WHERE b > 0 GROUP BY (*); % nope 
SELECT SUM(a) FROM tab WHERE b > 0 GROUP BY (1); % nope 

Suggestions?

+0

Essayez-vous de trouver des lignes entièrement dupliquées? Je ne suis pas sûr de comprendre les résultats que vous voulez en tirer. – Jay

+0

@Cyrena: Non. Juste essayer de calculer une somme de valeurs de colonne sur un sous-ensemble des lignes. – rampion

Répondre

8

Qu'est-ce qui ne va pas avec seulement SELECT SUM(a) FROM tab WHERE b > 0?

+0

Rien. Rien du tout. – rampion

0
SELECT SUM(a) FROM tab GROUP BY (b > 0) HAVING (b > 0);