채택완료

sql문 질문

2020-09-03 (목) 11:17:12 1,866
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개 / 댓글 2개

채택된 답변
+20 포인트
2020-09-03 (목) 11:46:02
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);

2020-09-03 (목) 12:07:03
Copy
SELECT * FROM (
   SELECT * FROM aud_kline ORDER BY timestamp DESC limit 500
) as T ORDER BY timestamp ASC

LIMIT 500 부분 제거

답변에 대한 댓글 2개

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

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