2016-10-19 26 views
-2

我有一個用戶表,其中每個記錄都有一個標籤。我想選擇用戶表中最常出現的標籤。例如:在大多數值存在的SQL中選擇值

  1. 用戶名紅
  2. 用戶名紅
  3. 用戶名藍
  4. 用戶名藍
  5. 用戶名藍

結果必須是包含數組:藍色,紅色,如表格中的標籤藍色比紅色更多。我怎樣才能獲得這個結果?

+0

@ Fred-ii-我不認爲應該發佈數據庫模式,並且結果需要存儲在php數組中。 –

+1

*「錯誤:」字段列表中的'未知列'標籤'「* - 您看到戈登的回答使用'選擇標籤'是基於您在問題中寫下的內容:*」因爲標籤藍色在表格中出現得更多「* 。然後,缺失的CI/PHP代碼使人們在一天中適合的時間變得更加困難。 –

+0

@ Fred-ii-是的,這也正是我的數據庫表結構。我有標籤(藍色,紅色等)和用戶名。 –

回答

3

您可以使用group bylimit

select label 
from t 
group by username 
order by count(*) desc 
limit 1; 

該值在統計的名稱。它被稱爲「模式」。

+0

錯誤:'字段列表'中的未知列'標籤' –

+0

@ P.nntema您說「每個記錄都有一個標籤」。包含標籤的列的名稱是什麼?在查詢中使用它。 – Barmar

+1

不應該是「按標籤分組」,因爲我們希望具有相同標籤的用戶數? – Barmar