본문 바로가기
MySql

MySQL mysql에서 SUM ()의 반환 유형은 무엇입니까?

by 베이스 공부 2021. 2. 11.
반응형

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

 

 

반응형

댓글