2017-08-11 1 views
0

J'ai une table SQL qui ressemble à ceci:moyenne générique sur plusieurs entrées dans une colonne sql

| variable | rank | 
|__________|______| 
| var1 | 0.3 | 
| var2 | 0.1 | 
| ... | ... | 

J'ai des centaines d'entrées dans la table avec plusieurs instances de toutes les variables avec un certain rang associé. Est-ce que je peux dire à SQL de prendre les entrées pour chaque variable dans la première colonne et me donner un classement moyen? Ce que je ne veux pas faire est la suivante:

SELECT AVG(column_name) 
FROM table_name 
WHERE variable=variable_name; 

où j'aurais besoin de spécifier chaque variable unique.

Répondre

0

Oui, il est appelé GROUP BY:

SELECT variable,AVG(column_name) 
FROM table_name 
--WHERE variable IN (...) -- you still can filter rows based on variable values 
GROUP BY variable