ADO에서 SELECT 구문 3 사용
저자:Eve Cole
업데이트 시간:2009-05-30 19:54:33
이전 기사에서 계속:
주문 방법
ORDER BY 절을 사용하여 정렬 필드를 설정할 수 있습니다.
SQL 표현식에서 ORDER BY 절은 일반적으로 마지막에 배치됩니다.
내림차순(Z~A, 9~0)으로 정렬하려면 내림차순으로 정렬하려는 각 필드 끝에 DESC 단어를 추가해야 합니다. 예를 들어:
이름 선택
직원으로부터
ORDER BY 급여DESC, 나이
[급여] 필드는 내림차순으로, [나이] 필드는 오름차순으로 정렬되어 있음을 나타냅니다.
ORDER BY 절의 정렬된 필드에는 MEMO 필드 유형이나 OLE 객체 유형이 포함될 수 없습니다. 그렇지 않으면 오류가 발생합니다.
ORDER BY 절에 여러 필드가 포함된 경우 ORDER BY 뒤의 첫 번째 필드가 정렬에 사용됩니다. 그런 다음 이 필드에 동일한 데이터 레코드가 있으면 두 번째 필드가 정렬에 사용됩니다.
그룹 기준
GROUP BY는 쿼리 결과에 대한 통계를 작성합니다. 구문은 다음과 같습니다.
SELECT 필드 목록
테이블에서
WHERE 기준
[GROUP BY 그룹 필드 목록]
WHERE 절을 사용하면 계산하고 싶지 않은 데이터를 설정할 수 있고, HAVING 절을 사용하면 이미 계산된 필드를 필터링할 수 있습니다.
MEMO 필드 유형이나 OLE 객체 유형의 필드에 대해서는 통계를 작성할 수 없으며, 그렇지 않으면 오류가 발생합니다.
예를 들어 ASP 프로그램 rs22.asp는 다음과 같습니다. [SELECT Category, Avg(Price) As Average From Product Group By Category] GROUP BY를 사용하여 쿼리 결과에 대한 [Category] 통계를 만들고, 각 카테고리의 통계를 계산합니다. 평균 가격 평균(Price):
<%
conn1 = Server.CreateObject("ADODB.Connection") 설정
conn1.Open "DBQ=" & Server.MapPath("ntopsamp.mdb") & ";Driver={Microsoft Access Driver(*.mdb)};DriverId=25;FIL=MS Access;"
rs2 = Server.CreateObject("ADODB.Recordset") 설정
SqlStr = "범주별 제품 그룹의 평균으로 범주 선택, 평균(가격)"
응답.쓰기 "<p>Avg(price)"
rs2.Open SqlStr,conn1,1,1
rs2.EOF가 아닌 동안 수행
Response.Write "<BR>" & rs2("종류") & ": " & rs2("평균")
rs2.다음으로 이동
고리
rs2.닫기%>
위의 ASP 프로그램 rs22.asp의 경우 클라이언트는 브라우저를 사용하여 실행 결과를 찾아보고 [범주] 통계를 기반으로 평균 가격을 표시합니다.
예를 들어, ASP 프로그램 rs22.asp는 다음과 같습니다. [SELECT Category, Sum(Quantity*Price) As Total From Product Group By Category] 쿼리에 대한 [Category] 통계를 만들기 위해 GROUP BY를 사용합니다. 결과를 확인하고 각 카테고리의 총 가격 합계(수량 * 가격)에 수량 및 가격을 곱한 값을 계산합니다.
<%
conn1 = Server.CreateObject("ADODB.Connection") 설정
conn1.Open "DBQ=" & Server.MapPath("ntopsamp.mdb") & ";Driver={Microsoft Access Driver(*.mdb)};DriverId=25;FIL=MS Access;"
rs2 = Server.CreateObject("ADODB.Recordset") 설정
SqlStr = "범주별 제품 그룹의 합계로 범주 선택, 합계(수량*가격)"
rs2.Open SqlStr,conn1,1,1
응답.쓰기 "<p>Sum(수량*가격)"
rs2.EOF가 아닌 동안 수행
Response.Write "<BR>" & rs2("범주") & ": " & rs2("전체")
rs2.다음으로 이동
고리
rs2.닫기%>
위 ASP 프로그램 rs22.asp의 경우 클라이언트의 브라우저를 사용하여 실행 결과를 찾아보고 [범주]를 기준으로 총 가격을 표시합니다.
Groupfieldlist는 통계에 사용되는 필드의 이름으로, 최대 10개의 필드가 있습니다.
groupfieldlist의 필드 이름 순서에 따라 가장 높은 수준에서 가장 낮은 수준까지 통계 수준이 결정됩니다.
마지막으로 예를 들어 ASP 프로그램 rs22.asp는 다음과 같습니다. [SELECT 이름, 과목, Avg(점수) 평균으로 검사에서 Group By 이름, 과목] GROUP BY를 사용하여 [이름] 및 [ 주제] 통계, 각 통계 통계 [평균] 점수 Avg (점수):
<%
conn1 = Server.CreateObject("ADODB.Connection") 설정
conn1.Open "DBQ=" & Server.MapPath("ntopsamp.mdb") & ";Driver={Microsoft Access Driver(*.mdb)};DriverId=25;FIL=MS Access;"
rs2 = Server.CreateObject("ADODB.Recordset") 설정
SqlStr = "이름, 주제, 평균(점수)을 이름, 주제별 시험 그룹의 평균으로 선택"
rs2.Open SqlStr,conn1,1,1
Response.Write "<p>이름, 제목으로 그룹화"
rs2.EOF가 아닌 동안 수행
Response.Write "<BR>" & rs2("이름") & " " & rs2("제목") & " 평균: " & rs2("평균")
rs2.다음으로 이동
고리
RS2.닫기
%>
위의 ASP 프로그램 rs22.asp는 클라이언트 측 브라우저를 사용하여 실행 결과를 찾아보고 [이름] 및 [주제]를 기준으로 [평균] 점수를 표시합니다.
배웠나요?