これは可能でしたので、MySQLの機能でGROUP_CONCAT
を制限するオプションはありますか?PHP MySQLのGROUP_CONCAT制限
例えば:
GROUP_CONCAT(ColName ORDER BY ColName DESC LIMIT 5)
私は、これは深刻なパフォーマンスが低下しますので、サブクエリを使用する必要はありません。私は後でPHPで配列をスライスすることができますが、私はMySQLにこれを実現するオプションがあるのか不思議でした。
これは可能でしたので、MySQLの機能でGROUP_CONCAT
を制限するオプションはありますか?PHP MySQLのGROUP_CONCAT制限
例えば:
GROUP_CONCAT(ColName ORDER BY ColName DESC LIMIT 5)
私は、これは深刻なパフォーマンスが低下しますので、サブクエリを使用する必要はありません。私は後でPHPで配列をスライスすることができますが、私はMySQLにこれを実現するオプションがあるのか不思議でした。
ありませんが、あなたはこれを行うことができます。
SUBSTRING_INDEX(GROUP_CONCAT(ColName ORDER BY ColName DESC), ',', 5)
あなたは中間の文字列が1024文字を超えるかもしれない場合には、(group_concat_max_lenを参照)最大長連結グループに注意を払う必要がある場合があります。デフォルトを変更することができます。
あなたは1つを見逃している ')' – Rams
@Ramsの後。 。 。ありがとうございました。 –
@GordonLinoff、素晴らしいソリューション、ありがとう。私は5つの整数だけを返すので、1024は十分に大きくなります。 –
* "サブクエリを使用したくない" * - とにかくサブクエリに 'LIMIT'を適用するには、少しばかげたやり方をしなければなりません:http://stackoverflow.com/questions/7124418/mysql-サブクエリリミット – CD001
@ CD001、私は感謝しています –