1
私は、次の列を持つテーブルがある:複雑なグループでのMySQLの文
SELECT boxid, group_concat(concat(username,":",nouns) SEPARATOR "|") as listn
FROM table group by boxid;
そのクエリ:
boxid - nouns - username
1 - w1,w2,w3 - user1
1 - w3,w2,w4 - user2
1 - w1,w8,w5 - user1
2 - w7,w2,w5 - user2
と私は私が次抽出することができますクエリを持っている現在では
box1 - user1:w1,w2,w3|user2:w3,w2,w4|user1:w1,w8,w5
しかし、同じユーザーのすべての名詞を繰り返し使用しないようにしたいと思います(しかし、すべてのユーザの言葉を繰り返します)、次のような結果が得られます:
box1 - user1:w1,w2,w3,w1,w8,w5|user2:w3,w2,w4
これはmysqlでやってもらえますか?私は
私はあなたのデータベース層にあまりにも多くの(任意の)ロジックを置くのは非常に慎重になるだろう。コードを読みにくく(データの形式について前提)、テストを難しくしたり、実装をデータベースに緊密に結合したりすることができます。遅いかどうか、実際にアプリケーションに影響があるかどうかを検証するためのテストを行いましたか? SQLでのグループ化は、あなたが考えるかもしれないほど効率的ではありません... – Caps
私は参照してください。私はPHP処理とMySQLクエリの実行時間を比較し、最も速いものをポストバックします。ご意見ありがとうございます! –