1$class='1-1';2try{3$dbh=newPDO($dsn,$user,$password);4$sql='select term,subject,name,rank,class from t_scores WHERE class=:class';56$statement=$dbh->prepare($sql);7$statement->bindValue(':class',$class,PDO::PARAM_STR);8$statement->execute();9$result=array();//初期化1011while($row=$statement->fetch(PDO::FETCH_ASSOC)){12$name=$row['name'];13$subject=$row['subject'];14$rank=$row['rank'];1516$result[$name][$subject][$term]=$rank;17}//while18}catch(PDOException$e){19print('Error:'.$e->getMessage());20die();21}22$dbh=null;
1select A.name, A.subject, ifnull(T1.rank,'-')as'term1', ifnull(T2.rank,'-')as'term2',2casewhen T1.rank < T2.rank then'↑'when T1.rank > T2.rank then'↓'else'-'endas'trend'3from4(5select name, subject from t_scores groupby name, subject
6) A leftjoin7(8select rank, name, subject, term from t_scores
9) T1 ON A.name=T1.name AND A.subject=T1.subject AND T1.term=110leftjoin11(12select rank, name, subject, term from t_scores
13) T2 ON A.name=T2.name AND A.subject=T2.subject AND T2.term=2