열의 하위 집합을 선택하고 대기열에있는 위치를 기반으로 계산 된 열을 마지막에 추가하려는 표가 있습니다.SQL의 계산 열에 문제가 있습니다
ID : INT, 자동 증가, 기본 키 answertime : (관련있는) 다음과 같은 필드가 있습니다 날짜, 기본적으로
널 (NULL)이, 뭔가 큐에 제출 될 때, 그 answertime은 NULL입니다. 따라서 대기열에있는 항목의 ID와 대기열의 순위 (예 : 순위 1은 답변되지 않은 다음 항목 등)를 선택하고 싶습니다. 여기에 내가 생각하고 있었던 것이있다.
rank - id - COUNT 개 (아이디는 내 ID보다 작고 answertime은 null이 아님). 그러나, 나는이 쿼리의 구문에 문제가 있어요 : 당신이 마찬가지로 내리고, 집계 함수의 선택 내부를 포함 할 수 없습니다 꽤 확신하기 때문에 지금
SELECT id AS outerid, COUNT(
SELECT * FROM tablename WHERE id<outerid AND answertime IS NOT NULL
)
FROM tablename
WHERE answertime IS NULL;
, 분명히, 이것은 잘못된 것입니다 SELECT 및 COUNT는 코드의 해당 지점에 SELECT를 삽입 할 수 없으므로 작동하지 않습니다 (WHERE 절에서만 사용할 수 있음).
그냥 SQL로 할 수 있습니까? 아니면 프로그램 끝에 논리를 추가해야합니까?
도움이된다면 SQL Server 2008에서이 작업을 수행합니다.하지만이 작업이 어떤 가치를 부여하는지는 의문입니다.
NO 시간이 좋은 예를 제공하지만, ROW_NUMBER 함수를 검색 할 :
다음은 메소드의 구현입니다. 내가 너를 올바르게 이해했다면 네가 원하는대로 될 것이라고 생각한다. – HLGEM