字符串我有一個表,其中我省對每條記錄他的祖先集團用分隔符
+----+------------+
| id | ancestors |
+----+------------+
| 1 | ,1, |
| 2 | ,2, |
| 3 | ,3,1, |
| 4 | ,4,2, |
| 5 | ,5,3,1, |
| 6 | ,6,4,2, |
| 7 | ,7,5,3,1, |
+----+------------+
如何組由id
但像這樣group by ','id','
,而不是group by id
得到這樣的結果:
+----+------------+
| id | count |
+----+------------+
| 1 | 4 |
| 2 | 3 |
| 3 | 3 |
| 4 | 2 |
| 5 | 2 |
| 6 | 1 |
| 7 | 1 |
+----+------------+
我的要求是找到整個列ancestors
中的id
的計數。
請提供更多詳細信息:模式詳細信息,表結構/詳細信息,正在使用的完整查詢。當然,SQLFiddle會好很多! – SarathChandra
這是違反規範化的基本規則。祖先表應該有多行,祖先的原子值。假設你有2個父母,你最多有2行。你的榜樣也沒有意義。對於id 1,你有1作爲祖先?爲什麼?你不是你自己的父母。 – gview
@gview總是遵循規範化的規則,它並不總是最好的選擇,只是做出選擇適合你的問題的解決方案。在我的情況下,如果我尊重我不能查詢所有記錄的下降規範化 – Youssef