sql문 질문 채택완료

Copy
SELECT * FROM aud_kline ORDER BY timestamp DESC limit 500

이렇게 sql문을 작성하면 최신의 데이터가 맨 위에오고 마지막 500번째 데이터가 맨 뒤로 갑니다

근데

 

500번째에 최신데이터가 가고 그 뒤로 데이터들이 정렬되도록 하려면 어떻게 해야하나요?

Copy
SELECT * FROM aud_kline ORDER BY timestamp ASC limit 500

이렇게하니까 제일 첫 데이터가 맨 앞으로 가서 최신데이터까지 접근을 못합니다.

답변 3개

채택된 답변
+20 포인트
SELECT * FROM aud_kline ORDER BY timestamp DESC limit 500

이 쿼리문은 그대로 두고 

php에서 배열을 거꾸로 돌려주는게 나을것 같습니다.

 

$sql = "select * from aud_kline order by timestamp desc limit 500";

$result = sql_query($sql);

$list = array();

for($row=0; $row = sql_fetch_array($result); $i++){

 $list[$i] = $row;

}

rsort($list);

 

 

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

Copy
SELECT * FROM (
   SELECT * FROM aud_kline ORDER BY timestamp DESC limit 500
) as T ORDER BY timestamp ASC
로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

LIMIT 500 부분 제거

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

그러면 모든 값을 불러오지 않나요? 500개 만 불러오고 싶습니다 ㅠㅠ
백수 님 방법대로 해보세요.

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고