私が作成した統計ページの効果は
作成されたデータベーステーブルは
です
php を使用して実装する方法を教えてください。ありがとうございます!
1 つの SQL コマンドで完了できます
@xuzuning
Master。 。 。 。 。 。どれもうまくいかないと思います!
確かに1つだけでいいので、1つずつステップバイステップで追加してください
初心者です!完全に疲れ果てました!
クラスを選択、人数として count(*)、合計スコアとして sum(score)、有効な人数として sum(if(スコアが有効かどうか='はい',1,0)、sum(if(スコアが有効かどうか = 'yes) '、スコア、0) を有効スコアとして....
これ以上書く必要はありません、スクリーンショットを使用するのが面倒です、入力したくないです
@xuzuning sum(if(スコアが有効かどうか='yes',1, 0)) これでは、有効な結果を持つ人の数を計算することはできません
group byとhavingを使ってみてください
@xuzuning @jmy454157571
sqlは正しいです, しかし、Phpループ出力はできません
$mysqli=new mysqli( "localhost","root","","car_insure");
$mysqli->set_charset("utf8"); if($mysqli->connect_error){
die("接続に失敗しました".$mysqli ->conect_error)
}
$sql="「無効な合計人数」として t3.*,t4.totalNum を選択してください、
から「無効な合計スコア」としてt4.totalScore(「クラス」としてt1.class_、「合計人数」としてt1 .totalNum、「合計スコア」としてt1.totalScore、「有効な合計人数」としてt2.totalNumを選択) people',t2.totalScore as '有効な合計スコア' from (totalNum として class_,count(id_) を選択、class_ によるスコア グループからの totalScore として sum(スコア_)) t1 左結合として (totalNum として class_,count(id_) を選択) ,sum(score_) を、flag_='is' を持つ class_,flag_ によるスコア グループからの totalScore を t1 の t2 として、class_=t2.class_)
t3 として
left join (totalNum,sum として class_,count(id_) を選択) (score_) as totalScore by class_,flag_ getting flag_='no') as t4
on t3.` class`=t4.class_"
$res=$mysqli->query($sql);
if($res){
echo"2222";
}else{
echo"1111";
$ mysqli->close();
何が起こっているのでしょうか? res が値を取得できませんでした。問題がどこにあるのかを確認してください
MySQL でクエリを実行すると、SQL ステートメントは正しいです。