私はあなたの前の投稿とこれを読みました。私が考えた場合、基本的なことは、チームがあり、プレーヤーがいて、特定の標準化されたグループ(いわば)でデータを表示したいということです。
ええと、あなたが常に比較している一定のデータがあり、それはチームのサイズです。
私が行うことは、チームをプレーヤーの数でグループ化するサブクエリを作成し、これを次のように何らかの方法で使用することです。
select t.*
, x.total_players
-- , row_number() over(order by t.team_name) row_id
from team_table t
join (
select team_id
, count(1) total_playerss
from team_table
group by team_id
) x on x.team_id = t.team_id
order by t.team_name
PHPで結果セットをエコーアウトする場合、次のような関数を作成できます。
<?php
function add_some_word($playerCount) {
if ($playerCount >4 && $playerCount <= 8) {
echo '*** SOME WORD***';
echo '*** SOME WORD***';
echo '*** SOME WORD***';
}
else if ($playerCount >4 && $playerCount <= 8) {
echo '*** SOME WORD***';
echo '*** SOME WORD***';
}
// etc.
}
?>
row_id
を使用する 結果セットから、チームがいつ開始および終了するかを確認できます。
したがって、行を吐き出すときは、次のようになります。 "
<?php
$currentTeamName = "";
while ($row = pg_fetch_array($result,null,PGSQL_ASSOC)) {
// echo data you would normally send out
if ($currentTeamName != $row['team_name']) {
add_some_word($row['total_players']);
}
}
?>
私はあなたの質問が正しかったことを望みます。私はこれを素早く打ちのめしていますが、それが役立つと思いました!