つまりね。私は3つのテーブルを持っており、次のクエリを実行しています。
select t.nomefile, t.tipo_nome, t.ordine
from
(select nomefile, tipo_nome, categorie.ordine
from t_gallerie_immagini_new as immagini
join t_gallerie_new as collezioni on collezioni.id=immagini.id_ref
join t_gallerie_tipi as categorie on collezioni.type=categorie.id
order by RAND()
) as t
group by t.tipo_nome
order by t.ordine
これは、すべて関係1-Nの3つのテーブルに適用されます。これらのテーブルは、結合してから、上位レベルのテーブルのそれぞれの異なる結果から1つのランダムな結果を取得する必要があります。このクエリは問題なく機能します。問題は、1つのSELECTのみを使用してこのクエリを書き直すように求められていることです。1つの選択だけでこれを行う別の方法があります。SQLsintaxによると、GROUPBYはORDERBYの前にある必要があるため、それぞれの最初のレコードしかない場合は、ランダムに並べ替えても意味がありません。上位レベルのテーブルの値。
誰かが1つの選択だけを使用してこのクエリを書く方法についての手がかりを持っていますか?