私は2つのテーブルを持っています:
main:id_main、field1、filter
main_logs(5000万行):auto inc、id_main、path
次の結果を探しています:id_main、field1、最も一般的なパス
私は次のクエリを試しました:
select id_main,
field1,
(select path, count(*) as cpt
from main_log
where main_log.id_main=main.id_main group by path order by cpt desc limit 1)
from main
where filter in (1,3,5);
Mysql return:オペランドには1つの列が含まれている必要があります
パスを削除すると、結果は正しくなりますが、パスの値が失われます。
select id_main,
field1,
(select path, count(*) as cpt
from main_log
where main_log.id_main=main.id_main group by path order by cpt desc limit 1)
from main
where filter in (1,3,5);
count(*)の結果は必要ありませんが、「順序付け」には必要です
結果を取得するためにこのクエリを作成するにはどうすればよいですか?ありがとう
主要
id_main | field1 | filter
1 | red | 1
2 | blue | 3
3 | pink | 1
main_logs
autoinc | id_main | path
1 | 1 | home1
2 | 1 | home2
3 | 1 | home2
4 | 2 | house2
5 | 2 | house7
6 | 2 | house7
7 | 3 | casee
期待される結果
id_main | fields1 | most common path
1 | red | home2
2 | blue | house7
3 | pink | casee