반응형
C # .NET으로 프로그램을 작성 중입니다. 나는 수업의 총 빈도를 수집하고 싶습니다 (모든 수업에는 많은 단어가 있고 각 단어에는 해당 수업에서 고유 한 빈도가 있다고 가정합시다)
그래서 mysql에서 sum () 함수를 사용했습니다. 그런데 캐스트가 틀렸다는 오류가 있습니다.
public void average_each_type()
{
MySqlDataReader result;
int total_freq = 0;
string type = "";
command.CommandText = "select class_name ,SUM(frequency) as sum_of_freq from training_set group by class_name ";
result = command.ExecuteReader();
while (result.Read())
{
total_freq = (int)result["sum_of_freq"]; //error happened here
type = result["class_name"].ToString();
//.....then so on...//
해결 방법
SUM () 및 AVG () 함수는 정확한 값 인수 (정수 또는 DECIMAL)에 대해 DECIMAL 값을 반환하고 근사값 인수 (FLOAT 또는 DOUBLE)에 대해 DOUBLE 값을 반환합니다. (MySQL 5.0.3 이전에는 SUM () 및 AVG ()가 모든 숫자 인수에 대해 DOUBLE을 반환합니다.)
정수를 원하면 Convert
를 사용하여 소스 유형이 무엇이든 상관없이 하나를 얻을 수 있습니다.
total_freq = Convert.ToInt32(result["sum_of_freq"]);
참조 페이지 https://stackoverflow.com/questions/10592481
반응형
'MySql' 카테고리의 다른 글
MySQL sql_mode의 특정 값을 어떻게 볼 수 있습니까? (0) | 2021.02.11 |
---|---|
MySQL SQL SELECT NOW () (0) | 2021.02.11 |
MySQL mysql 테이블에서 arraylist로 요소 가져 오기 (0) | 2021.02.11 |
MySQL에서 함수 기반 인덱스를 가질 수 있습니까? (0) | 2021.02.10 |
MySQL mysql에서 문을 업데이트 한 후 영향을받는 행을 얻는 방법은 무엇입니까? (0) | 2021.02.10 |
댓글