からGroupOdd
dbtableまで合計weekly_slot
を合計しようとしていますが、すべての行に対して10個の値が得られます。私を訂正することができればと感謝します。それ以外に、GroupOdd
dbtableをより大きな値に応じてソートする方法を最初に更新する方法sum_weekly_slot
?
ありがとうございます。それに応じて更新するよりC#SQLクエリ - sum(weekly_slot)FROMグループを使用しようとしました
SELECT id, MAX(rev)
FROM YourTable
GROUP BY id
:
cmd2 = new SQLiteCommand();
cmd2 = dbConnect.CreateCommand();
//cmd2.CommandText = "DELETE FROM GroupOdd";
//cmd2.ExecuteNonQuery();
cmd2.CommandText = "SELECT Sum(Weekly_Slot) AS Sum_Weekly_Slot FROM GroupOdd group by Teacher_Name";
DataTable dt2 = new DataTable();
SQLiteDataAdapter da2 = new SQLiteDataAdapter(cmd2);
da2.Fill(dt2);
foreach (DataRow dr2 in dt2.Rows)
{
//cmd.CommandText = "INSERT INTO GroupOdd (Teacher_Name, Standard, Subject, Weekly_Slot, Balance_Slot) VALUES (@Teacher_Name, @Standard, @Subject, @Weekly_Slot, @Balance_Slot)";
cmd2.CommandText = "UPDATE GroupOdd SET Sum_Weekly_Slot = @Sum_Weekly_Slot";
//cmd2.Parameters.AddWithValue("@Sum_Weekly_Slot", dr2["Sum(Weekly_Slot)"].ToString());
cmd2.Parameters.AddWithValue("@Sum_Weekly_Slot", dr2["Sum_Weekly_Slot"].ToString());
cmd2.ExecuteNonQuery();
}
次のように解決しました:cmd2.CommandText = "SELECT Teacher_Name、Sum(Weekly_Slot)FROM GroupOdd GROUP BY Teacher_Name"; cmd2.CommandText = "UPDATE GroupOdd SET Sum_Weekly_Slot = @Sum_Weekly_SlotどこTeacher_Name = @ Teeher_Name"; cmd2.Parameters.AddWithValue( "@ Teacher_Name"、dr2 ["Teacher_Name"]。ToString()); cmd2.Parameters.AddWithValue( "@ Sum_Weekly_Slot"、dr2 ["Sum(Weekly_Slot)"]。ToString());しかし、どのように私はSum_Weekly_Slotで並べ替えるようにGroupOddテーブルを更新できますか?ありがとう – Michael