I guess the easy way to do it with UNION in 1 query: for example get 3 star rated cheeses and 5 non-rated cheeses:
SELECT TOP 3 1 HasStar, custom_Cheese.NumWho, custom_Cheese.NameCheese,
Custom_Cheese.CheeseStar
FROM custom_Cheese
WHERE ##WHERE## AND CheeseStar ='Yes'
UNION
SELECT TOP 5 0 HasStar, custom_Cheese.NumWho, custom_Cheese.NameCheese, Custom_Cheese.CheeseStar
FROM custom_Cheese
WHERE ##WHERE## AND CheeseStar ='No'
ORDERBY HasStar DESC, ##ORDERBY##
Then you can process if with one repeater.
<script runat="server">
string Title ="";
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
if (Eval<bool>("HasStar") && !CMS.Helpers.RequestStockHelper.Contains("StarTitle")) {
Title = "Cheeses With Star"
CMS.Helpers.RequestStockHelper.Add("StarTitle", "Cheeses With Star")
}
if (!Eval<bool>("HasStar") && !CMS.Helpers.RequestStockHelper.Contains("NoStarTitle")) {
Title = "Cheeses With No Star"
CMS.Helpers.RequestStockHelper.Add("NoStarTitle", Title)
}
}
</script>
<%#Title%>
<%Eval("custom_Cheese.NameCheese")%><br>