加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

在查询中限定MySQL功效

发布时间:2021-01-18 12:52:41 所属栏目:编程 来源:网络整理
导读:我正在探求是否可以通过一个查询得到所需的功效,而我的MySQL手艺仍处于芳华期. 我有4张桌子:演出,艺术家,园地和游览.此刻,我的主查询的简化版本如下所示: SELECT * FROM artists AS a,venues AS v,shows AS s LEFT JOIN tours AS t ON s.show_tour_id = t.

我正在探求是否可以通过一个查询得到所需的功效,而我的MySQL手艺仍处于芳华期.

我有4张桌子:演出,艺术家,园地和游览.此刻,我的主查询的简化版本如下所示:

SELECT * 
     FROM artists AS a,venues AS v,shows AS s 
LEFT JOIN tours AS t ON s.show_tour_id = t.tour_id
    WHERE s.show_artist_id = a.artist_id
      AND s.show_venue_id = v.venue_id
ORDER BY a.artist_name ASC,s.show_date ASC;

我要添加的是每个艺术家返回的表演数目的限定.我知道我可以选择* FROM artist,然后为每个返回的行运行一个带有简朴LIMIT子句的查询,可是我以为必需有一种更有用的要领.

更新:为简朴起见,我想为每位艺术家选择最多5个节目.我知道我可以做到这一点(消除全部贫困):

<?php
    $artists = $db->query("SELECT * FROM artists");
    foreach($artists as $artist) {
        $db->query("SELECT * FROM shows WHERE show_artist_id = $artist->artist_id LIMIT 5");
    }
?>

可是将另一个查询放在foreach轮回中好像是错误的.我正在探求一种在一个功效齐集实现这一方针的要领. 最佳谜底 这是存储进程的目标.

选择一个艺术家列表,然后轮回赏识该列表,将每个艺术家的5个或更少的节目添加到姑且表.

然后,返回姑且表.

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读