[sport]sql group by指令,選代表的方法。

長久以來一直被這個問題困惑著,sql下了group by 指令後,到底是選誰當代表。
之前觀察過,並不是選player_id中最小的。經過用不同的排序方式,終於解開了迷團。
(程式folk11505/test//groupby.php)

//觀察group by選中的代表是誰?
//原來是依game_id排序後,第一個人。
include "../include/config.php";
//include "function.php";

//以folk11505為例
//pg_id 21 國小男童六年級組【扯鈴】
//pi_id 2,雙人賽     3,團體賽(四人賽)     4,團體賽(六人賽)     5,扯鈴接力賽
$pg_id=21;
$pi_id=5;

$sqlstr = " select game_id,player_id,play_group_id,play_item_id,gov_code,term_num,single from game where play_group_id ='$pg_id' and play_item_id ='$pi_id' order by gov_code,term_num,game_id ";
//echo "{$sqlstr}<br>";
$recordSet = $CONN->Execute($sqlstr) or die("<br>資料連結錯誤<br>\n $sqlstr ");
echo "game_id,player_id,play_group_id,play_item_id,gov_code,term_num,single<br>";
while ($row = @$recordSet->FetchRow() ) {
    echo $row[game_id].",";
    echo $row[player_id].",";
    echo $row[play_group_id].",";
    echo $row[play_item_id].",";
    echo $row[gov_code].",";
    echo $row[term_num].",";
    echo $row[single]."<br>";
}

 

本篇發表於 程式設計。將永久鏈結加入書籤。