두 개의 테이블이 있습니다 : 위치 및 업로드. 그들은 다른 정보들 중에서 Username과 Timestamp를 가지고 있습니다. 플레이어가 콘텐츠를 업로드하기 전에 얼마나 오래 지 냈는지 확인하고 싶습니다. 이렇게하려면 시작 시간을 얻기 위해 위치 테이블에서 가장 낮은 시간 스탬프가 필요합니다. 그런 다음 첫 번째 업로드 타임 스탬프에서이 값을 뺍니다.두 테이블간에 사용자 당 가장 낮은 값 차이 선택
즉, 첫 번째 콘텐츠를 업로드하기 전에 플레이어가 게임에 소비 한 시간을 확인하고 싶습니다.
계산을 처리하기 위해 PHP 거래를 작성할 수는 있지만 잔인 할 수있는 것처럼 느껴졌고 아마도 자동으로 수행 할 수있는 기본 SQL 명령이있을 것입니다. 나는 그것을하는 방법에 대한 약간의 브레인 스토밍을했고 이것은 내가 지금까지 가지고있는 것입니다 :
Select a.UserID, DATEDIFF(Min(a.timestamp),Min(b.Timestamp))
From db.Uploads a, db.Position b
WHERE
a.UserID = b.UserID
GROUP BY a.UserID
누구든지 아이디어가 있습니까? 내 코드가 꽤 절름발이라는 것을 알고 있지만 지금 당장은 내가 생각해내는 코드입니다.
검색어에 어떤 문제가 있습니까? 내가 올바르게 이해한다면 그것은 실제로 효과가있을 것입니다. – fancyPants
안녕하세요, fancPants, 데이트 필드가 날짜 필드 임에도 불구하고 필자가 필요로했던 것이 아니 었습니다. 정확히 왜 그런지는 모르겠지만 그것이 그 방법입니다. 나는이 작업을 수행했다 : 선택 a.UserID (최소 (A.TIMESTAMP TOE가 IT)라는 우수한 성능을 나타내었다 (b.Timestamp)) db.Uploads A로부터 TimeDifference , db.Position로 B WHERE a.UserID = B. 사용자 ID GROUP BY a.UserID – justinhpatterson