在这里,我有三张桌子,我要问这个问题:
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
它适用于3个表格, 全部在关系 1- N 中, 需要合并, 然后取一个随机结果 。 这个查询工作很好, 问题在于我被要求重写这个查询 : “ 仅使用一个 select < / strong ” 。 我用另一种方法只选择一个, 问题是, 根据 SQL 罪责, 组必须先于 ORDER, 所以在您已经拥有较高表格中每个值的第一个记录时, 随机订购是没有意义的 。
有人知道如何只用一个选择来写入此查询吗?