2011-11-25 76 views
-1

對不起,這個問題有點含糊,讓我重新說一下我的問題。「最愛」欄目mysql

表:

  • 用戶:ID,名稱
  • 活動:ID的時候,標籤識別
  • 標籤:ID,名稱

,因此用戶的活動,每個活動可以有一個標籤,例如「閱讀郵件」將是一個活動的標籤。所以,讓我們舉一個例子:

  • 用戶:1,邁克
  • 活動:1,今天,1
  • 標籤:1,閱讀電子郵件

和Mike有另一個活動的用戶:

  • 活動:2,明天,2
  • 標籤:1,閱讀電子郵件

現在你可以看到用戶「麥克」有2個活動與「閱讀電子郵件」,所以當用戶創建了很多活動,我需要得到最喜歡的(最常用的)標籤。

+1

......那麼問一個精確的問題呢? – Jerome

+0

給出一個表格的簡短數據示例,以及您希望生成的查詢輸出的樣子。 –

+0

這是不是很清楚你想要做什麼...請添加一些細節(什麼是最喜歡的標籤,以及你從哪裏得到它)。 – Dragos

回答

2

下面的SQL將返回所使用的最 特定用戶的標記的名稱(在這種情況下,與被123)的基礎上,他們如何往往是

如果你想要的標籤的列表

使用, 您可以更改limit 1中的號碼。

select tags.name 
from tags 
left join items on tags.id=items.tagId 
where items.userId=123 
group by tags.name 
order by count(items.id) 
desc limit 1; 
+0

該死的,你打我:) – thomaux

+0

非常感謝你,並再次抱歉的模糊問題。 – randomKek