PHP

2009-12-28 3 views
1

내가 그 기록을 사용자 여기PHP

에 의해 입력 된 테이블에서 마지막 7 개 기록을 얻으려고에 MySQL의에서 지난 7 개 행을 얻는 것은 내 쿼리입니다 마지막 행을 얻기 위해 $ 행을 순환 시켰습니까?

SELECT * 
FROM (
     SELECT * 
     FROM #__mytable 
     WHERE user_id = '$uid' 
     ORDER BY 
       entered_date DESC 
     LIMIT 7 
     ) q 
ORDER BY 
     entered_date 
+0

내가 답변 한 인정,하지만 난 대답을 하시겠습니까 PHP 코드가 포함되어 있습니다. – ChuckO

+0

디스크로 작성된 효과를 얻기 위해 PHP 코드를 수정할 필요가 없습니다. setQuery 매개 변수에서 SQL 쿼리를 바꿉니다. – erenon

답변

3
SELECT * 
FROM #__mytable 
WHERE user_id = '$uid' 
ORDER BY 
     entered_date DESC 
LIMIT 7 

사용, 오름차순을 얻으려면

SELECT * FROM ... WHERE ... ORDER BY user_id DESC LIMIT 7 
2
SELECT * FROM #__mytable WHERE (user_id = '$uid') ORDER BY id DESC LIMIT 0,7 
5

당신은하지 않습니다 :

+1

왜 resoult를 user_id로 주문 하시겠습니까? – erenon

+0

사용자 ID가 증분 및 고유 한 것으로 가정 했으므로 전체 테이블의 기본 클러스터링 순서로 잘 작동합니다. 키별로 정렬해야합니다. 그렇지 않으면 결과가 예측할 수 없으며 플랫폼/데이터베이스 엔진/라이브러리 버전/달의 위상에 따라 크게 달라집니다. – mst

+0

'@ mst' :'user_id'는 원래 쿼리에서 걸러집니다. – Quassnoi