텍스트 입력된 row 값들의 text 평균(avg) 텍스트를 구할수 있을까요? 채택완료
안녕하세요
mysql db 에
table name : test
min(person) 은 사람2 max(person) 은 사람1 은 뽑힙니다. 귀한 답변 부탁드립니다. 감사합니다.
답변 4개
답변에 대한 댓글 2개
댓글을 작성하려면 로그인이 필요합니다.
1. select distinct wind from test 하시면 wind 종류만 나오겠죠.
while ( 각_wind종류 ) {
select count(*) from test where wind = '각_wind종류' 하여 건수를 추출하고,
$windKindArray[각_wind종류] 배열에 합산을 해 줍니다.
}
2. 그러고나면 저 배열은
$windKindArray[동풍] = 3;
$windKindArray[북동풍] = 7;
$windKindArray[남동풍] = 2;
... 등이 되겠죠.
3. 위 3건만 있다고 할 때 배열의 합은 12이고 평균은 4입니다.
4와 가장 가까운 건수의 바람종류를 추출하시면 3건인 동풍이 되겠지요.
최다건수는 북동풍이고 최소건수는 남동풍이겠고요.
즉 이 수치는 가장 많은 쪽으로 분 풍향, 가장 적은 쪽으로 분 풍향, 그리고 가장 중간치로 분 풍향을
구하는 거겠네요.
원하시는 방향이 맞나요? 아니더라도 원하는 값을 구하는 데 참고가 되면 좋겠네요.
댓글을 작성하려면 로그인이 필요합니다.
windNum 정도의 필드를 추가하시고요.
북풍은 0, 동풍은 90, 남풍은 180, 서풍은 270,
북동풍은 45, 남동풍은 135 등으로 이 필드를 세팅해 주시고요.
그리고서 이 필드의 평균을 추출하신 후 text로 변환을 하시면 될 것 같네요.
답변에 대한 댓글 2개
10도
350도
평균은 180이 되어 방향으로만 보면
반대 방향이 나옵니다.
벡터로 처리하면 될 듯하네요
댓글을 작성하려면 로그인이 필요합니다.
mysql의 max, min은 문자열을 사용할 경우
해당 열에 정의한 정렬 순서에서 가장 높고 낮은 값을 찾아줍니다.
하지만 avg 함수의 경우 문자열은 평균치를 구할 수 없습니다.
답변에 대한 댓글 1개
date time wind
20221219 121223 북풍
20221219 112223 남서풍
20221219 111223 북서풍
20221219 101123 남동풍
20221219 100923 남동풍
20221219 100223 남서풍
20221219 100221 남풍
20221219 100211 남동풍
20221219 100141 남풍
숫자로 치환해서 avg 구한뒤에 다시 text 로 값을 변수로 변환하는 방법도 가능한가요?
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
20221219 121223 북풍
20221219 112223 남서풍
20221219 111223 북서풍
20221219 101123 남동풍
20221219 100923 남동풍
20221219 100223 남서풍
20221219 100221 남풍
20221219 100211 남동풍
20221219 100141 남풍
이런씩으로 바람 방향같은 경우는 어떻게 하면 좋을까요?