이의 내가 같은 테이블이 있다고 가정 해 봅시다 테이블의 행 위치 계산 (이 그냥 간단한 예입니다, 내가 이야기하고있는 실제 테이블은 훨씬 더 복잡하다) :가
CREATE TABLE media (
id INT NOT NULL AUTO_INCREMENT,
title VARCHAR(255) NOT NULL,
description TEXT NOT NULL,
voted INT NOT NULL DEFAULT 0,
rating FLOAT NOT NULL DEFAULT 0
) ENGINE = INNODB;
는 투표 열은 항목이받은 투표 수를 나타내며 등급은 열은 항목의 총 정격을 나타냅니다. 또,이에 따라이 행의 위치를 계산하려면,
SELECT m.* FROM media AS m WHERE id = 5;
그러나 :
자, 내가하고 싶은 것은, ID를 기반으로 뭔가를 테이블에서 하나의 항목을 선택하다 등급 열을 가져 와서 추가 열로 가져옵니다. site_rank라고 부르면됩니다. 행의 등급이 높을수록 site_rank가 높을 것이므로 설명을 잘 해주십시오.) 내 추측이 subselect 쿼리를 얻을 수 있지만 그것을 어떻게 해야할지 모르겠다.
어떤 도움이 필요합니까?
자주 업데이트되는 Site_Rank Column을 구현하는 것이 좋습니다. 아마도 훨씬 쉬울 것입니다. –
그런 식으로 하나의 큰 데이터베이스 호출 (또는 더 작은 데이터베이스 호출)을 수행 한 다음 각각을 업데이트하십시오. 그리고 나서 5 분 동안 다른 것을 할 필요가 없습니다. –