我有2个表,即表1呼叫游戏,表2呼叫game_medias
结构表1(游戏)
-id
-genre_id
-title
-created
等
结构表2(game_medias)
-id
-game_id
-thumb
等
示例查询:
select g.id,g.genre_id,g.title, gm.*
from games g inner join game_medias as gm
group by rand(g.id) limit 8;
是否可以使用额外的“g.id ='2'”进行查询 - 从中获取genre_id并使用此genre_id进入随机8个“项目”?我不确定加入是否是正确的解决方案 - 也许有人知道更好的方法?
问候
答案 0 :(得分:0)
有很多方法可以做到这一点,但我相信这会有效:
select g.id,g.genre_id,g.title, gm.*
from games g inner join game_medias as gm
where (g.genre_id = (SELECT genre_id FROM games WHERE id = 2))
group by rand(g.id) limit 8;
如果games.id上有索引,那么它应该非常快。