2013-01-15 2 views
1

몇 명의 친구와 함께 뮤직 블로그를 만들었고 포스트 뷰를 추적하기 위해 MySQL 테이블을 만들었습니다. 관리자보기를 추적 할 수있는 열과 각 열에 대한 사용자보기를 추적하는 열이 있습니다.MySQL을 두 개의 열로 정렬하는 방법은 무엇입니까?

대부분의 관리자보기, 대부분의 사용자보기 및 총보기별로 쉽게보고 정렬 할 수있는 페이지를 만들고 있습니다. 내 MySQL 데이터베이스에서 "전체보기"에 대한 열을 만들지 않았습니다 (계산하려면 관리자보기를 단순하고 단순한 사용자보기에 추가하십시오).

관리자보기로 SELECT * FROM log ORDER BY ADMIN DESC을 쿼리하고 사용자보기에 대해 쉽게 정렬 할 수 있지만 간단한 방법으로 SELECT * FROM log ORDER BY ADMIN + USER DESC과 같은 작업을 수행 할 수 있습니까? 그렇지 않다면, 나는 내 자신의 정렬 알고리즘을 제공하기 위해 코드를 망쳐야 할 것이다.

미리 감사드립니다.

+3

빠른 Google 검색으로 쉽게 해결할 수 있습니다. – Kyle

+0

ADMIN 또는 USER 뷰의 데이터 유형은 무엇입니까? – Satish

+0

명확히하기 위해 : 전체보기를 'ORDER BY'하고 싶습니까? – Quassnoi

답변

5

쿼리는 당신이 그것을 넣어 정확하게 :

SELECT * 
FROM log 
ORDER BY 
     admin + user DESC 

당신이 총 전망에 대해 별도의 열을 생성하고 색인 경우, 쿼리에서 사용할 수 :

SELECT * 
FROM log 
ORDER BY 
     total_views DESC 
LIMIT 10 

하는 것 제한된 쿼리를 위해 SELECT 속도를 개선하십시오. 당신이 그것을하는 방법, 당신이 단지 최고 10 개의 코멘트 만 선정하더라도, 전체 테이블은 스캐닝되고 주문되어야한다. 당신이 정렬 외에 아무것도 전체보기를 사용하려고하는 경우

1

, 내가 제안 :

SELECT *,(`admin`+`user`) as `total` FROM `log` ORDER BY `total` DESC 

이 표시하거나 계산에 사용할 수있는 결과에 "총"필드를 추가합니다.

+0

나는 AS에 관해 몰랐다! 감사! – 11684

관련 문제