このようなテーブル (グループ化なしで表示) があり、MySQL 5.5 を使用しています。
mytable
================================================================================
id type parent_type type_id content parent_id
================================================================================
1 type1 NULL 3 john's test content NULL
2 type1 NULL 3 hi there, this is john NULL
3 type2 ptype1 4 john@gmail.com 2
4 type3 ptype1 2 John Smith 2
5 type3 ptype1 8 Sean John John 10
6 type3 ptype1 13 John Smith 11
parent_type
最初にすべての行をグループ化し、parent_id
次にtype
and でグループ化したいと思いtype_id
ます。Parent_type
とparent_id
なる場合もありますNULL
が、NULLs
グループ化しないでください。
現時点で私が試していることは次のとおりです。
SELECT id, type, IFNULL(parent_type, UUID()) as parent_type, type_id, content, IFNULL(parent_id, UUID()) as parent_id
FROM mytable
WHERE MATCH(content) AGAINST('john*' IN BOOLEAN MODE) GROUP BY parent_type, parent_id, type_index, type_id LIMIT 10 ;
しかし、望ましい結果は、結果を最初に and でグループ化し、次に and でグループ化するparent_type
ことです。parent_id
parent_type
parent_id
mytable
================================================================================
id type parent_type type_id content parent_id
================================================================================
1 type1 NULL 3 john's test content NULL
3 type2 ptype1 4 john@gmail.com 2
5 type3 ptype1 8 Sean John John 10
6 type3 ptype1 13 John Smith 11
これはどのように行うことができますか?