2012-04-04 10 views
3

私はこのタイプのデータを返すためにMYSQL GROUP_CONCATのこの機能を利用することができます。mysql group_concat issue

select group_concat(m.marks) from 
    (select distinct marks from marks limit 40) m 
+0

40を使うのか? 5つの値の平均? –

+0

いいえ私は40の必要があります5の平均はありません@サルマンA –

+4

なぜ40ですか?あなたが理解できる理由がない限り、照会の中で –

答えて

2

はこれを試してみてください必要

enter image description here

次のように結果が表示されますシナリオ

SELECT GROUP_CONCAT(marks) AS `i need only 40 int in this column` FROM marks 

ですfirst:データベーステーブルを正規化する

今、あなたの具体的な問題の解決策は:

SELECT GROUP_CONCAT(marks) AS `i need only 40 int in this column` FROM marks 

が正常に動作している

SELECT marks 
FROM marks 
WHERE FIND_IN_SET('40', marks) 
+0

私はあなたの質問を正しく理解しているかどうかわかりません。:-) –

+0

'LIMIT 40'? 'WHERE marks = 40'を意味しないのですか? – knittl

+0

@knittl:分かりません。私には、OPは** 40の整数**だけを望んでおり、**は整数ではありません** **。しかし私が以前のコメントで述べたように、OPが望んでいることが正しく理解されているかどうかは分かりません。 –

1

アドバイス:ここで私は、このクエリを実行すると結果が40

+0

あなたの経験を共有するためのThanxしかし私の質問ではない –

+0

@Samad:あなたの質問は何ですか? – knittl

+0

まだ分かりません。'GROUP_CONCAT'は、' GROUP BY'と組み合わせて使用​​すると、複数の行からなる単一の文字列を作成します。 »[...]コンマで区切られたフィールドから1つの要素を選択したい«←どの要素ですか?最初?中間?最終?特定の基準にマッチするか? – knittl

0

あなたの構文:MySQLはあなたが欲しいものを行う必要がありFIND_IN_SET機能を持っています。 GROUP_CONCAT(marks)の名前を i need only 40 int in this columnとしているので、構文で何を言っているのかを示しています。

あなたがGROUP_CONCATを使用して、マークが40どこ記録したいとき、それは意味しない何

「結果は40が必要」?なぜ

select * from table_name where marks='40' 

のようなクエリを使用していないGROUP_CONCATがcompultionであれば、

SELECT GROUP_CONCAT(marks) AS `i need only 40 int in this column` FROM marks where marks='40' 
+0

私はちょうどこのformateを使用して私の質問を説明します –

+0

私はすでに私の質問を言及しましたこれは可能かどうかは可能な場合はどのように –

+0

あなたのクエリは、 ?あなたが結果で示したいことを何を意味しているのかを意味します。 –