2010-06-29 49 views
2

我有具有以下結構的MySQL表:MySQL的:組行我多列,並返回計數

ontology_term 
pathway_id 
pathway_name 

我想用它我們可以得到各種途徑之間的映射編寫一個查詢(具有唯一的ID - > pathway_id)基於常見本體術語的數量。

所以輸出應該是,

Pathway_id1, Pathway_id2, No. of common terms 

我知道,它可以很容易地使用服務器端語言完成,這將是更快地使用MySQL呢?

+0

你能提供,涉及到你的預期輸出一些示例數據? – 2010-06-29 16:47:32

回答

1

如果我理解你的權利,這是

select a.pathway_id, b.pathway_id, count(*) 
from t a 
inner join t b on a.ontology_term = b.ontology_term 
group by a.pathway_id, b.pathway_id 

有如果兩個途徑沒有記錄不具有通用術語

+0

謝謝,這個工程。但是,我添加了另一個條件「AND a.pw_id!= b.pw_id」,否則它也會將每條路徑分組。 – Chetan 2010-07-02 05:35:35