2013-08-28 5 views
-2

SQL 쿼리를 제공하는 데 도움이 될 수있는 최대 개수 "columnb"값이 "active"인 "columna"값을 추출 할 수 있습니까? 컬럼 b의 의미는 "활성"값이며, 최대 값이 활성 인 columnb 인 columna 값을 가져 오려고합니다.SQL 쿼리에 대한 조언이 필요합니다.

내가 COLUMNA = M1을하고 백작 출력을 찾고 있어요 =

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

질문이 불분명합니다. 시도한 내용, 예제 데이터 및 예상 결과를 제공해주십시오. – ganders

+0

columnB의 일반적인 값은 무엇입니까? –

+2

어떤 RDBMS를 사용하고 있습니까? 최대 행을 얻기위한 구문은 다를 수 있습니다. –

답변

1

당신 요청에 의해 생산 될 결과 4 :

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

제가 이것을 시도하고 돌아 오도록하겠습니다. – user2725264

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

구문은 RDMBS-es간에 약간 씩 다르지만 논리는 그대로 유지됩니다. , columna에 의해 그룹, columnb에 따라 그들을 당신의 행을 필터링 count(*)에 그 (것)들을 주문하고 상위 1

SQL 서버 선택 :

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

관련 문제