我們有用戶,問題和無限級別的類別。用戶可以從問題中獲得一些觀點。問題可以有多個類別。樹遍歷遞歸計算
我想要做的是計算每個類別的最高用戶數:它只是從該類別下的問題中獲得的總點數,也是它的子類別。
所以,我有這些表:
questions
--------------
id
title
question
categories
--------------
id
parent_id
category
lft
rgt
question_categories
--------------
question_id
category_id
users
--------------
id
username
user_points
--------------
id
user_id
question_id
point_type
points
user_category
--------------
user_id
category_id
points
我想要做的是計算user_category.points值。 總結每個類別的要點很簡單,但包括子類別越來越複雜。
什麼可能是最好的方法來做到這一點?
計算的例子:
假設的類別是:
Programming
PHP
Zend Framework
Symfony
Java
Ruby on Rails
假設用戶得到3分從Zend框架,2點從PHP,5分從Java和來自Rails的1分。每類此用戶的積分將是:
Programming 11 (5+5+1)
PHP 5 (2+3)
Zend Framework 3
Symfony
Java 5
Ruby on Rails 1