我有以下表結構:MySQL的計數,並加入4個表
表夾
id | title | is_hidden
表對象
id | name | is_hidden | folder_id
表標籤
id | name
表label_to_folder
id | label_id | folder_id
- 每個對象總是屬於一個文件夾。
- 每個文件夾可屬於一個或多個標籤(這是由
label_to_folder
表中定義)
我試圖讓最常用的(流行)的標籤,我實現它(我認爲:P)與以下查詢: SELECT COUNT(lf.label_id) AS cnt, lf.label_id, l.name FROM label_to_folder lf JOIN label l ON lf.label_id=l.id GROUP BY lf.label_id ORDER BY cnt DESC limit 8
我正在遇到的麻煩,是程度以上查詢因此它不計數隱藏的文件夾(folder.is_hidden = 1)或空文件夾(空文件夾被一個沒有任何對象或所有文件夾的對象被隱藏)
任何幫助表示讚賞。
編輯
sqlfiddle:http://sqlfiddle.com/#!9/65526/1 有包括id爲5的文件夾,但它的所有文件夾都是空的結果 - 這就是我試圖消除。
could你添加一些數據,所以我可以重新創建它來測試它? – davejal
只有觀察 - label_to_folder表中的'id'看起來是多餘的。除此之外,如果您願意,可以考慮遵循以下簡單的兩步式操作:1.如果您尚未這樣做,請提供適當的CREATE和INSERT語句(和/或sqlfiddle),以便我們可以更輕鬆地複製問題。 2.如果您尚未這樣做,請提供與步驟1中提供的信息相對應的所需結果集。 – Strawberry
@Strawberry我正在研究sql小提琴 – CrisDeBlonde