2016-10-19 4 views
-2

各レコードにラベルが付いているユーザーテーブルがあります。私は、userテーブルの中で最も発生しているラベルを選択したいと思います。例えば:SQLのほとんどの値が存在する値を選択

  1. ユーザー名レッド
  2. ユーザー名レッド
  3. ユーザー名ブルー
  4. ユーザー名ブルー
  5. ユーザー名ブルー

結果を含む配列である必要がありますように、ブルー、レッド赤色よりも青色のラベルがテーブル内に多く現れます。どうすればこの結果を得ることができますか?

+0

@ Fred-ii- dbスキーマを投稿する必要はありません。その結果をPHPの配列に格納する必要があります。 –

+1

*「エラー:フィールドリストの「ラベル」が不明です」* - 「select label」を使用したGordonの回答は、あなたの質問に書いたものに基づいています。 。そして、欠落しているCI/PHPコードでは、人々があなたに正しい時間を与えることがずっと難しくなります。 –

+0

@ Fred-ii-はい、まあまあ私のデータベーステーブル構造です。私はラベル(青、赤など)とユーザー名を持っています。 –

答えて

3

あなたはgroup bylimitを使用することができます。

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

この値は、統計に名前を持っています。これは「モード」と呼ばれます。

+0

エラー:「フィールドリスト」の「ラベル」が不明な列 –

+0

@ P.Yntema「各レコードにラベルがあります」と言った。ラベルを含む列の名前は何ですか?これをクエリで使用します。 – Barmar

+1

同じラベルのユーザー数が必要なので、 'group by label'でなければなりませんか? – Barmar

関連する問題