2011-12-13 2 views
-2

특정 날짜에 바인딩 된 다른 오퍼를 가진 테이블이 있습니다. 가격이 변하는 날짜에 따라 달라집니다. 나는 각 날짜에 대해 가장 저렴한 거래를하고 싶다.Sql GroupBy는 group by 절의 결과 집합에 하나 더 많은 필드가 있습니다.

내 문제는 내가 등으로 그룹을 사용할 수 있습니다 :

선택 가격

제안을 표시, 날짜별로 거래 그룹, 가격과 날짜, 난 GROUP BY 절에없는 이상의 레코드가 필요합니다 . 최고의 필드는 내 오토 필드가 될 것이므로 고객이 특정 가격으로 오퍼를 선택하면 두 번째 선택을 사용하여 모든 필드와 함께이 오퍼를 표시 할 수 있습니다.

내 질문에 대답하는 것이 더 쉽기를 바랍니다. 나는 가능한 한 일반적인 유지하려하지만 난

SELECT id, date, price 
FROM products 
GROUP BY id, date, price 

그렇지 않으면 SQL Server가 식별 수 없습니다 그냥 GROUP BY 목록에 Id 열을 추가가

+0

각 날짜에 대한'ID'에 대한보고 무엇을 원하는가? 'MAX','MIN', 임의의 값? – JNK

+0

Group By는 일반적으로 설명에없는 일종의 집계 함수를 나타냅니다. 특정 날짜에 가격의 합계를 찾고 있습니까? 모든 가격과 제품 ID를 날짜순으로 상세하게 표시하려면 GroupBy가 아닌 OrderBy 만 사용해야합니다. – hqrsie

+0

나는 매일 5 번 동일한 제품을 다른 가격으로 가지고 있으며, 나는 특정 product_type에 대해 매일 최고의 거래를하고 싶다. – NickD

답변

2

:-) 충분히 명확 설명하지 않은 느낌이있다 ID는 인스턴스가 다음 두 행을 고려에 대한 가격과 날짜 행별로 그룹화에 대한 반환하는 것입니다 : Id 값이 날짜와 가격 그룹화 된 행에 대해 선택해야합니다

1 | 10-10-2010 | 100 | 
2 | 10-10-2010 | 100 | 

?

??? | 10-10-2010 | 100 | 
+1

예. 날짜와 가격별로 그룹화. – NickD

+0

다음 중 어떤 결과가 나타 납니까? 입력 데이터와 예상 출력을 제공하십시오. 아마 각 날짜의 총 가격? 그래서'select, id, date, SUM (price) from id, date' 등의 테이블 그룹을 사용 하시겠습니까? – sll

+2

@Snoopy - 가장 좋은 코멘트 –

1

당신이 중 하나는 ID 상에 aggregate function를 지정하거나 @sll 제안처럼 절하여 그룹에 추가해야합니다. 집계 예 :

SELECT MAX(id), date, price 
FROM products 
GROUP BY date, price 
1

당신은 날짜가격의 모든 고유 한 커플의 목록을해야합니다, 선택 절에서 ID를 제거합니다.

당신은 신원이기 때문에 당신의 그룹으로 절은 유용되지 않도록, 당신이 당신의 테이블에있는 모든 레코드 당 행을 얻을 것이다, By 절 그룹에 ID를 추가하는 경우 .

세 번째 방법은 매 그룹 (제, 최소, 최대, 등)에 대해 하나 개의 값을 얻기 위해 선택 ID에 집계 함수를 사용하는 것이다. 에 의해

0

하이 그룹은 계산을 수행 할 때 유용 등

SELECT [Display Billing Provider], [Display Insurance Category] 
, SUM([TOTAL RVUs]) AS RVUs_08 
, SUM([Units]) AS Units_08 
, SUM(Payments) AS Payments_08 
FROM dbo.ProductivityAnal_2008 
GROUP BY [Display Billing Provider],[Display Insurance Category] 
ORDER BY [Display Billing Provider],[Display Insurance Category] 

감사 아베

+0

이 쿼리는 어디서 얻었는지 궁금하십니까? – sll

+0

이 쿼리에 문제가 있습니까? –

+0

@ CodeSaint, 나는 downvoted. 온라인에서 'GROUP BY'검색어의 예를 발견하고 질문에서 아무 것도 참조하지 않고 여기에 붙여 넣은 것처럼 보였습니다. 나는 개인적으로 당신이 묻는 것에 대한 당신의 답을 맞추어야한다고 생각합니다. –