2011-01-28 4 views
0

목록보기 표를 채우기 전에 최대 레코드 수를 얻는 방법을 알아 내려고하고 있습니다. Oracle 10g DB를 사용하고 있는데 다음과 같이 시도했습니다.Read()를 사용하여 레코드 수

SELECT COUNT(*) as countNum, status, date, theTitle, theMessage, date2 " & _ 
     "FROM blah blah... 

messagebox.show(dr(0)) 

하지만 SQL 쿼리가 중단됩니다. 그것은 내 쿼리에 "계산"과 관련된 모든 것을 넣으려는 것처럼 보이지 않거나 충돌 할 것이므로 다른 레코드가 얼마나 많은 레코드를 반환하는지 볼 수있는 다른 방법이 있습니까?

감사합니다. : O)

데이비드

답변

2

사용 분석 수 : (이상 SELECT COUNT (*))

+0

그 일을했지만 쿼리에서 가져올 것 같지 않아? ** MessageBox.Show (dr (4)) ** – StealthRT

+0

메시지의 상태, 날짜, 제목, 메시지, 날짜 2, 카운트 (*) 이상으로 countNum에서 blah blah ... 그것. 결과 레코드를 가져올 수 없다는 뜻입니까? –

+0

수정 ** 가져 오기 ** – StealthRT

1

같은 count 당신이 집계 함수의 결과가 아닌 당신의 결과 집합의 모든 필드에 대한 group by 절을 사용할 필요가 집계 함수를 사용하여. 그래서 같은

0

DATE2 "& _ "ㅋ ㅋ ㅋ ㅋ FROM은 내가 한 번 쿼리를 작성 countNum, 상태, 날짜, theTitle, theMessage 등 WITH 절의 동적 뷰 종류
을 선택하고이 쿼리를 하나의 선택에서 선택하고 선택합니다.

WITH query AS (
SELECT * 
FROM foobar 
WHERE foo = 1 
) 
SELECT 
    (SELECT COUNT(*) FROM query) cnt, 
    status, 
    date, 
    theTitle, 
    theMessage 
FROM query 
0

나는이 레코드를 사용하여 간단한 레코드 수를 검색합니다. 이 작업에서 다른 필드를 가져 오려는 이유가 확실하지 않습니다. 선택 기준이있는 경우, (적절한)는 WHERE 또는 HAVING 절을 적용

SELECT COUNT(YourPrimaryKey) As RecordCount 
FROM YourTable 
GROUP BY YourPrimaryKey 

를 다음 코드를 사용 cmd.ExecuteScalar의 결과를 검색 할 수 있습니다. . .

+0

댓글이 삭제되었습니다. 내가 틀렸어. – XIVSolutions

관련 문제