2011-02-02 2 views
2

모든 항목에 대한 페이지 히트를 기록하는 열이 포함 된 데이터베이스 테이블이 있습니다.SQL을 사용하여 데이터베이스 열에서 상위 10 개의 가장 큰 숫자를 선택하려면 어떻게합니까?

데이터베이스에서 가장 많이 사용 된 상위 5 개 페이지를 선택하고 싶지만 SQL을 사용하여 올바른 방법을 찾을 수 없습니다. 특히 모든 항목을 선택하고 나중에 PHP를 사용하여 검색하는 작업은 필요하지 않습니다.

SQL을 통해이를 수행하는 가장 좋은 방법은 무엇입니까?

감사합니다.

+2

10 5? 5 또는 10? – eumiro

+0

** ** 데이터베이스 ** ** 어떤 ** 버전 ?? –

답변

4

이 방법을 시도해보십시오 MySQL의에서

SELECT column1, column2, hit_pages,... 
FROM YourTable 
ORDER BY hit_pages DESC 
LIMIT 5 
+2

주의 사항 : 선택 *을 사용하지 말고 필요한 열을 선택하십시오. –

+1

@ 종 - 제공된 테이블 구조없이 더 나은 예제를 제공하기 어렵습니다. – eumiro

+0

@eumiro 테이블 구조는 특히 OP의 질문을 고려할 때 Jong의 관점과 관련성이 거의 없습니다. 표의 모든 단일 열 **이 특별히 필요하지 않으면 절대로 SELECT *'**를 사용하지 않아야합니다. –

3

> 제품의 Oralce>SELECT * FROM table ORDER BY hits DESC where rownum <5;

+0

내가 생각하기에 히스 DESC (ASC가 아님) –

+0

@Jong - yeh, 전화로 이야기하고 대답을 타이핑하여 대답해야한다고 생각합니다. – diagonalbatman

+1

오라클 노트 : ORDER 뒤에 WHERE ROWNUM 절을 넣는 것이 중요합니다 BY 절. 그렇지 않으면 테이블에서 처음 5 행을 데이터베이스에서 비 결정적으로 선택한 다음 정렬합니다. –

0

SELECT TOP 10 가격 (열 이름) (TABLENAME) 가격 내림차순 순서로 SELECT * FROM table ORDER BY hits DESC limit 5;

을; 이하

출력을

 
price 
263.5 
123.79 
97 
81 
62.5 
55 
53 
49.3 
46 
45.6 
관련 문제