2013-08-28 3 views
-2

Peut-on aider à fournir la requête SQL devrait être utilisé pour extraire la valeur "columna" qui a la valeur max "colonne" comme "Active". Moyens dans columnb il y a une valeur "Active", je veux tirer la valeur columna qui a la valeur max Active n columnb.conseil nécessaire pour la requête SQL

Je suis à la recherche de sortie pour être columna = M1 et Count = 4

columna  columnb 
M1   Active 
M1   Active 
M1   Active 
M1   Active 
M2   failed 
M2   failed 
M2   failed 
M3   pending 
M3   pending 
M3   pending 
+3

La question n'est pas claire, veuillez fournir ce que vous avez essayé, des exemples de données et les résultats attendus. – ganders

+0

Quelles sont les valeurs typiques de columnB? –

+2

Quel RDBMS utilisez-vous? La syntaxe pour obtenir la ligne max pourrait être différente. –

Répondre

1

Les résultats que vous demande serait produit par:

SELECT columna,COUNT(*) 
FROM Table 
WHERE columnb = 'Active' 
GROUP BY columna 
1
SELECT top 1 columna,COUNT(*) as cnt 
FROM Table1 
WHERE columnb = 'Active' 
GROUP BY columna 
order by cnt desc 

FIDDLE

+0

laissez-moi essayer cela et revenir. – user2725264

0
SELECT columna,count(*) FROM TABLE_NAME where columnb = "Active" GROUP BY columna 
0

La syntaxe est légèrement différente entre RDMBS-es, mais la logique reste. Filtrez vos lignes en fonction columnb, les regrouper par columna, les commander sur count(*) et sélectionnez top 1

SQL Server:

SELECT TOP 1 columna, COUNT(*) AS Count 
FROM YourTable 
WHERE columnb = 'Active' 
GROUP BY columna 
ORDER BY COUNT(*) DESC 

SQLFiddle DEMO

MySQL:

SELECT columna, COUNT(*) AS Count 
FROM YourTable 
WHERE columnb = 'Active' 
GROUP BY columna 
ORDER BY COUNT(*) DESC 
LIMIT 1 

SQLFiddle DEMO

Questions connexes