Access 2013-쿼리가 올바른 결과 수를 반환하지 않음

Teamgilla

아래 쿼리를 사용하여 PlayedTo각각에 대해 두 개의 가장 낮은 결과 를 반환하려고합니다 PlayerID.

select
    x1.PlayerID, x1.RoundID, x1.PlayedTo
from P_7to8Calcs as x1
where
    (
    select count(*)
    from P_7to8Calcs as x2
    where x2.PlayerID = x1.PlayerID
    and x2.PlayedTo <= x1.PlayedTo
    ) <3
order by PlayerID, PlayedTo, RoundID;

불행히도 현재 가장 낮은 점수 중 하나에 동점이있을 때 결과를 반환하지 않습니다. 데이터 세트 및 코드의 사본은 여기 http://sqlfiddle.com/#!3/4a9fc/13 입니다.

PlayerID47은 두 RoundID번째로 낮은 항목에 대해 두 개의 다른 결과가 있기 때문에 하나의 결과 만 반환됩니다 PlayedTo. 내가 계산하려는 것은 숫자가 무엇인지 알 필요가 있기 때문에이 두 가지 중 어느 것이 반환되는지는 중요하지 않지만보고를 위해서는 이상적으로는 최신 날짜를 알아야합니다.

쿼리의 또 다른 사소한 문제는 실행하는 데 걸리는 시간입니다. Access에서 83 개의 레코드를 실행하는 데는 약 2 분이 걸리지 만 데이터베이스가 완전히 가동되고 실행되면 약 1000 개의 레코드에서 실행해야합니다.

어떤 도움이라도 대단히 감사하겠습니다.

하프 비트

DatePlayed내부 정렬 에 추가하여 동점을 해결하십시오 (어쨌든 최신 날짜를 원함).

select
    x1.PlayerID, x1.RoundID
    , x1.PlayedTo
from P_7to8Calcs as x1
where
    (
    select count(*)
    from P_7to8Calcs as x2
    where x2.PlayerID = x1.PlayerID
    and (x2.PlayedTo < x1.PlayedTo
         or x2.PlayedTo = x1.PlayedTo
            and x2.DatePlayed >= x1.DatePlayed
         )
    ) <3
order by PlayerID, PlayedTo, RoundID;

성능을 위해 조인 조건을 지원하는 인덱스를 만듭니다. 다음과 같은 것 :

create index P_7to8Calcs__PlayerID_RoundID on P_7to8Calcs(PlayerId, PlayedTo);

참고 : 여기에는 Acess가 없기 때문에 SQLFiddle을 사용했습니다.


편집 : 인덱스가 성능을 충분히 향상시키지 못하는 경우 창 함수를 사용하여 다음 쿼리를 시도 할 수 있습니다 (중첩 된 하위 쿼리 방지). SQLFiddle에서 작동하지만 이것이 Access에서 지원되는지 확실하지 않습니다.

select x1.PlayerID, x1.RoundID, x1.PlayedTo
from (
  select PlayerID, RoundID, PlayedTo
  , RANK() OVER (PARTITION BY PlayerId ORDER BY PlayedTo, DatePlayed DESC) AS Rank
  from P_7to8Calcs
  ) as x1
where x1.RANK < 3
order by PlayerID, PlayedTo, RoundID;

설명서는 OVER 절순위 함수참조하십시오 .

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

SQL 쿼리가 올바른 결과를 반환하지 않음

분류에서Dev

MySQL-쿼리가 올바른 결과를 반환하지 않음

분류에서Dev

SQL 쿼리가 올바른 결과를 제공하지 않음

분류에서Dev

Powershell .TrimEnd가 올바른 결과를 반환하지 않음

분류에서Dev

올바른 결과를 반환하지 않는 SQL 쿼리-SQLite

분류에서Dev

올바른 결과를 반환하지 않는 PHP SQL 쿼리

분류에서Dev

엔터티 프레임 워크 쿼리가 올바른 결과를 반환하지 않음

분류에서Dev

올바른 결과를 반환하지 않는 변수가있는 쿼리 선택

분류에서Dev

SQL 하위 쿼리가 올바른 결과를 생성하지 않음

분류에서Dev

mySQL Group By Max 쿼리가 올바른 결과를 산출하지 않음

분류에서Dev

EXTRACT () 함수가 올바른 결과를 반환하지 않습니다.

분류에서Dev

MySQL COUNT가 올바른 결과를 제공하지 않음

분류에서Dev

JS for 루프가 올바른 결과를 표시하지 않음

분류에서Dev

IQueryable Include가 올바른 결과를 제공하지 않음

분류에서Dev

while 루프가 올바른 결과를 제공하지 않음

분류에서Dev

REGEX_LIKE가 올바른 결과를 선택하지 않음

분류에서Dev

YesNo 필드가있는 Access의 SQL 쿼리가 결과를 반환하지 않음

분류에서Dev

CTE 쿼리가 원하는 결과를 반환하지 않음

분류에서Dev

MySQL 쿼리가 예상 결과를 반환하지 않음

분류에서Dev

ElasticSeach 쿼리가 결과를 반환하지 않음

분류에서Dev

MySQL 쿼리가 결과를 반환하지 않음

분류에서Dev

ElasticSearch NEST 용어 쿼리가 결과를 반환하지 않음

분류에서Dev

DBpedia Sorql의 SPARQL 쿼리가 결과를 반환하지 않음

분류에서Dev

MySQL 쿼리가 PDO로 결과를 반환하지 않음

분류에서Dev

쿼리가 결과를 반환하지 않음

분류에서Dev

단순 SPARQL 쿼리가 결과를 반환하지 않음

분류에서Dev

생성자 함수가 올바른 결과를 표시하지 않음

분류에서Dev

변수가있는 PyMongo 쿼리가 결과를 반환하지 않음

분류에서Dev

Kohana DB 표현식이 올바른 결과를 반환하지 않음

Related 관련 기사

  1. 1

    SQL 쿼리가 올바른 결과를 반환하지 않음

  2. 2

    MySQL-쿼리가 올바른 결과를 반환하지 않음

  3. 3

    SQL 쿼리가 올바른 결과를 제공하지 않음

  4. 4

    Powershell .TrimEnd가 올바른 결과를 반환하지 않음

  5. 5

    올바른 결과를 반환하지 않는 SQL 쿼리-SQLite

  6. 6

    올바른 결과를 반환하지 않는 PHP SQL 쿼리

  7. 7

    엔터티 프레임 워크 쿼리가 올바른 결과를 반환하지 않음

  8. 8

    올바른 결과를 반환하지 않는 변수가있는 쿼리 선택

  9. 9

    SQL 하위 쿼리가 올바른 결과를 생성하지 않음

  10. 10

    mySQL Group By Max 쿼리가 올바른 결과를 산출하지 않음

  11. 11

    EXTRACT () 함수가 올바른 결과를 반환하지 않습니다.

  12. 12

    MySQL COUNT가 올바른 결과를 제공하지 않음

  13. 13

    JS for 루프가 올바른 결과를 표시하지 않음

  14. 14

    IQueryable Include가 올바른 결과를 제공하지 않음

  15. 15

    while 루프가 올바른 결과를 제공하지 않음

  16. 16

    REGEX_LIKE가 올바른 결과를 선택하지 않음

  17. 17

    YesNo 필드가있는 Access의 SQL 쿼리가 결과를 반환하지 않음

  18. 18

    CTE 쿼리가 원하는 결과를 반환하지 않음

  19. 19

    MySQL 쿼리가 예상 결과를 반환하지 않음

  20. 20

    ElasticSeach 쿼리가 결과를 반환하지 않음

  21. 21

    MySQL 쿼리가 결과를 반환하지 않음

  22. 22

    ElasticSearch NEST 용어 쿼리가 결과를 반환하지 않음

  23. 23

    DBpedia Sorql의 SPARQL 쿼리가 결과를 반환하지 않음

  24. 24

    MySQL 쿼리가 PDO로 결과를 반환하지 않음

  25. 25

    쿼리가 결과를 반환하지 않음

  26. 26

    단순 SPARQL 쿼리가 결과를 반환하지 않음

  27. 27

    생성자 함수가 올바른 결과를 표시하지 않음

  28. 28

    변수가있는 PyMongo 쿼리가 결과를 반환하지 않음

  29. 29

    Kohana DB 표현식이 올바른 결과를 반환하지 않음

뜨겁다태그

보관