2017-04-04 16 views
-1

のユニークな組み合わせを持つ行のみを選択:私はのような結果をフェッチするのSQLクエリ持って2列

[{"id":89,"sender_id":2,"reciever_id":1,"message":"no reply","deleted_at":null,"created_at":"2017-04-04 17:01:20","updated_at":"2017-04-04 17:01:20"}, 

{"id":88,"sender_id":1,"reciever_id":2,"message":"hiiiii","deleted_at":null,"created_at":"2017-04-04 16:59:47","updated_at":"2017-04-04 16:59:47"}, 

{"id":87,"sender_id":5,"reciever_id":1,"message":"hiiiii","deleted_at":null,"created_at":"2017-04-04 16:59:43","updated_at":"2017-04-04 16:59:43"}, 

{"id":86,"sender_id":1,"reciever_id":5,"message":"hiiii","deleted_at":null,"created_at":"2017-04-04 16:59:38","updated_at":"2017-04-04 16:59:38"}, 

{"id":85,"sender_id":1,"reciever_id":5,"message":"hiii vRUN\n","deleted_at":null,"created_at":"2017-04-04 16:10:51","updated_at":"2017-04-04 16:10:51"}] 

をしかし、私はsender_idreciever_idの唯一のユニークな組み合わせをしたいし。 5行のうち2行しか必要ないのは、2行しか一意の組み合わせではないからです。このように:

[{"id":89,"sender_id":2,"reciever_id":1,"message":"no reply","deleted_at":null,"created_at":"2017-04-04 17:01:20","updated_at":"2017-04-04 17:01:20"}, 

{"id":87,"sender_id":5,"reciever_id":1,"message":"hiiiii","deleted_at":null,"created_at":"2017-04-04 16:59:43","updated_at":"2017-04-04 16:59:43"}, 

どうすればいいですか? 2つの違いは何

+2

ですか? –

+0

クエリを更新してください –

+0

1- grouppingの基準は何ですか 2 SUM()、MAX()などの集計関数を使用しない限り、列をグループ化できません。 3確信しています質問はすでにこのウェブサイトで答えている –

答えて

0

SELECT * 
FROM yourTable 
GROUP BY SUBSTRING_INDEX(SUBSTRING_INDEX(,',',3),':',-1) 

このような

BY GROUPを追加サンプル

mysql> SELECT SUBSTRING_INDEX(SUBSTRING_INDEX('[{"id":89,"sender_id":2,"reciever_id":1,"message":"no reply","deleted_at":null,"created_at":"2017-04-04 17:01:20","updated_at":"2017-04-04 17:01:20"},' ,',',3),':',-1) as result; 
+--------+ 
| result | 
+--------+ 
| 1  | 
+--------+ 
1 row in set (0,00 sec) 

mysql> 
関連する問題