sql >> データベース >  >> RDS >> Sqlserver

SQL Server テーブルからの合計を含む標準 HTML テーブル

    このhtmlを使用できます

    <tfoot>
        <tr>
          <td>Tot</td>
          <td>60</td>
          <td></td>
          <td>30</td>
        </tr>
        <tr>
           <td>Avg</td>
           <td>20</td>
           <td></td>
           <td>10</td>
        </tr>
      </tfoot>
    

    これにより、表の最後に 2 行追加されます。

    定義内の合計と平均を計算する

    int totnum1 = 0;
    decimal totnum2 = 0;
    int numRow = 0;
    decimal avg1 = 0;
    decimal avg2 = 0;
    

    ループで

    totnum1 += reader.GetInt32(1);
    totnum2 += reader.GetInt32(3);
    numRow ++;
    

    ループの最後

    avg1 = totnum1 / numRow;
    avg2 = totnum2 / numRow;
    

    上記の例の数字の代わりに totnum1、totnum2 avg1、avg2 を使用して、最後の質問のように html を記述できます

    public string getWhileLoopData() 
    {
     string htmlStr = "";
     SqlConnection thisConnection = new SqlConnection(ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString);
     SqlCommand thisCommand = thisConnection.CreateCommand();
     thisCommand.CommandText = "SELECT * FROM MyTable WHERE TheDate = @TheDate";
     thisCommand.Parameters.AddWithValue("@TheDate", txtDate.Text);
    
    
    int totnum1 = 0;
    decimal totnum2 = 0;
    int numRow = 0;
    decimal avg1 = 0;
    decimal avg2 = 0;
    
    
    
     thisConnection.Open();
     SqlDataReader reader = thisCommand.ExecuteReader();
    
     while (reader.Read()) {
         int id = reader.GetInt32(0);
    
         int Number01 = reader.GetInt32(1);
         DateTime TheDate = reader.GetDateTime(2);
         Decimal Number02 = reader.GetDecimal(3);
    
         totnum1 += reader.GetInt32(1);
         totnum2 += reader.GetInt32(3);
         numRow ++;
    
         //string Pass = reader.GetString(2);
         htmlStr += "<tr><td>" + id + "</td><td>" + Number01 + "</td><td>" + TheDate + "</td><td>" + Number02 + "</td></tr>";
     }
    
     thisConnection.Close();
    
    avg1 = totnum1 / numRow;
    avg2 = totnum2 / numRow;
    
    htmlStr += string.Format("<tfoot><tr><td>Tot</td><td>{0}</td><td></td><td>{1}</td></tr>", totnum1 , totnum2 );
    htmlStr += string.Format("<tfoot><tr><td>Avg</td><td>{0}</td><td></td><td>{1}</td></tr></tfoot>", avg1 , avg2 );
    
    
     return htmlStr;
    }
    



    1. PHPとMySQLを使用してデータベース値を変更するにはどうすればよいですか?

    2. mysqlでデータベースを削除するにはどうすればよいですか?データベースの名前を知らなくてもDROPDATABASE()

    3. PostgreSQL:集計関数を使用したUPDATE

    4. CodeIgniter-エラー番号:1146(CREATE TABLEコマンドの実行後にテーブルが存在しません)