SQL 테이블에서 데이터를 요구 가져올 수 :선택 쿼리는 다음과 같이 나는이 같은 일부 데이터가
Acc_Id || Row_No
1 1
2 1
2 2
2 3
3 1
3 2
3 3
3 4
을 아래와 같이 나는 결과를 얻을 수있는 쿼리가 필요합니다
Acc_Id || Row_No
1 1
2 3
3 4
하세요 나는 SQL 초보자라고 생각해.
SQL 테이블에서 데이터를 요구 가져올 수 :선택 쿼리는 다음과 같이 나는이 같은 일부 데이터가
Acc_Id || Row_No
1 1
2 1
2 2
2 3
3 1
3 2
3 3
3 4
을 아래와 같이 나는 결과를 얻을 수있는 쿼리가 필요합니다
Acc_Id || Row_No
1 1
2 3
3 4
하세요 나는 SQL 초보자라고 생각해.
의 개수를 원하는 가정합니다. 이 문제로 인해 솔루션에 대한 관심이 높아 졌으므로 group by
에있는 documentation을보고 싶을 수 있습니다. 그룹화는 공통 컬럼 값을 가진 행을보고, 사용자가 지정한 컬럼 값을 그룹을 나타내는 단일 행으로 접어서 처리합니다. 귀하의 경우에는 Acc_Id
의 값이 귀하의 그룹 이름입니다.
다른 답변은 모두 정확한 두 개의 열이 데이터와 동일합니다.
select Acc_Id, count(*), max(Row_No)
from T
group by Acc_Id;
넘버링에 간격이있는 경우 동일하지 않습니다. 실제로 열의 최대 값 행 수를 찾고 있는지 여부를 결정해야합니다. 이 시점에서 앞으로 유용 할 많은 다른 집계 함수를 고려할 수 있습니다. (여기에 실제 값이 맥락에서 거의 의미가 있습니다.)
select Acc_Id, min(Row_No), sum(Row_No), avg(Row_No)
from T
group by Acc_Id;
이 시도 :
select Acc_Id, MAX(Row_No)
from table
group by Acc_Id
을 나는 다음이 집계 및 그룹화에 처음 노출 당신이 초보자로서 행
SELECT Acc_Id, COUNT(*)
FROM Table
GROUP BY Acc_Id
원하는 결과 뒤에 어떤 논리를?, 당신은 당신이 논리를 설명 할 수있는 모든 – Lamak
에서 설명하지 않았다? 출력에 대한 논리를 이해하지 못한다. –
갭이 없다면'count (*)'는'max (Row_No)'와 동일하다. 진짜 질문은 당신이 카운트 또는 최대를 원하는지 여부입니다. – shawnt00