フェイスブックを考えてみましょう。Facebook は、任意のステータスの最新の 2 つのコメントを表示します。私は似たようなことをしたいです。
、、、などのテーブルがstatus_idあります。次に、それぞれの最新の 2 つのコメントを取得します。comment_idcommenttimestampstatus_id
現在、最初GROUP_CONCATにすべての列をグループ化しstatus_id、次にSUBSTRING_INDEXwithを実行してい-2ます。
これにより、最新の 2 つのコメントが取得されますGROUP_CONCATが、status_id のすべてのレコードがオーバーヘッドになります。
SELECT SUBSTRING_INDEX(GROUP_CONCAT('~', comment_id,
'~', comment,
'~', timestamp)
SEPARATOR '|~|'),
'|~|', -2)
FROM commenttable
GROUP BY status_id;
より良いアプローチを手伝ってもらえますか?
私のテーブルは次のようになります -
status_id comment_id コメントのタイムスタンプ
1 1 xyz1 3 hour
1 2 xyz2 2 hour
1 3 xyz3 1 hour
2 4 xyz4 2 hour
2 6 xyz6 1 hour
3 5 xyz5 1 hour
だから私は出力が欲しい -
1 2 xyz2 2 hour
1 3 xyz3 1 hour
2 4 xyz4 2 hour
2 6 xyz6 1 hour
3 5 xyz5 1 hour