가 여기 내 테이블 구조SQL 쿼리 그래서 난 내 테이블에 이러한 열이
이다 사용자별로 가장 최근의 행을 반환 각 위치가 다릅니다. 또한 타임 스탬프가 그 때는 이제
index.php, chat.php, test.php, test1.php
을 가정 해 봅시다.
사용자 위치가인 UserId와 시간을 추가하십시오.
시간은 timestamp
형식입니다.
내 sql 쿼리가 각 사용자 ID에서 하나의 결과를 보여 주지만 최신 쿼리 만 표시하도록하고 싶습니다. 그래서 2에서 가장 최근에 테이블에 추가 된 행을 보여줍니다. 또한 나는 15 분이나 그 이상의 회동 시간을 가진 결과를 보여주기를 원하지 않습니다.
예를 들어, 나는 단지 두 개의 행을 반환하는 것으로 나타납니다.
내가 뭘해야하는지 알고 있습니까?
가 나는 시도했다 :
이SELECT * FROM session WHERE location='chat.php' GROUP BY userid
이 개 결과를 반환하지만 임의의 하나를 반환하는 사용자 ID에 대해 여러 결과가있는 경우 내가 믿는, 그것은 또한 15 분 이상의 lastactivity이 결과를 반환합니다. 내가 MySQL의를 사용하고
------ 더 많은 정보 ------- 나는 모든 행에 대한 데이터베이스를 조회 할
곳에 위치 = 'chat.php'. 나는 가장 최근의 제출물에 의해 결정되는 사용자 ID 당 하나의 행만 원한다. 15 분 이상 된 것도 원하지 않습니다. 마지막으로 반환 된 행 수를 계산하여 testVar라는 변수에 넣을 수 있습니다.
도움을 받으실 수 있습니다.
sql 바이올린을 게시하십시오. – Hackerman
무엇을 의미합니까? 방법? – user3474238
우선 SQL 설명서를 구하십시오. 시간 범위를 제한하기 위해'WHERE' 절을 사용합니다.그런 다음 'GROUP BY'및 'MIN'을 사용하여 주어진 사용자의 최신 타임 스탬프를 선택할 수 있습니다. 마지막으로, userid와 timestamp를 알고 있으면 테이블의'JOIN'을 가지고 나머지를 얻을 수 있습니다. – LSerni