결과 집합을 10개 그룹으로 분할
쿼리에서 반환된 91개의 결과 세트를 가지고 있습니다.저는 이 91개의 데이터를 10개의 그룹으로 균등하게 나누고 싶습니다.예를 들어 110~18그룹 1~9그룹 219~27그룹 328~36그룹 4.
그룹 546~54에서 37~45, 그룹 655~63, 그룹 764~72, 그룹 873~81, 그룹 982~90, 그룹 10에서 row_num을 사용하여 결과 집합의 숫자 순서를 확인했습니다. 하지만 이 데이터를 10개의 그룹으로 균등하게 나누는 방법을 모르겠습니다.그것을 알아내는 것을 도와주세요! 감사합니다.
set @row_num=0;
select t.*
from
(
select
(@row_num:=@row_num+1) AS row_num,
total.reg_date,
total.car_id,
total.mcu_motspd
from(
select
td.reg_date,
td.car_id,
td.mcu_motspd
from
cartracker.tracker_data td
left join car c on (c.car_device_no = td.car_id)
left join car_group cg on (c.car_group_no = cg.car_group_no)
where cg.car_group_no = "1"
group by DATE_FORMAT(td.reg_date, "%Y%M%d%h%m")
)total
group by DATE_FORMAT(total.reg_date, "%Y%M%d%h%m")
) t
결론적으로, 저는 위 쿼리에서 91개의 결과 집합을 group1, group2 등 10개의 그룹으로 나누고 싶습니다.(mysql에서 타일 기능을 시도했지만 작동하지 않았습니다) 위 쿼리의 ResultSet Image
좋아요, 여기 아이디어가 있어요.row_num 결과를 9로 나누고 다음을 수행하는 것은 어떻습니까?CEIL
(천장이라고도 함) 그 위에 기능합니다.아마도, 다음과 같은 것이 있을 것입니다.
set @row_num=0;
select CEIL(row_num/9), t.*
from
(
select
(@row_num:=@row_num+1) AS row_num,
total.reg_date,
total.car_id,
total.mcu_motspd
from(
select
td.reg_date,
td.car_id,
td.mcu_motspd
from
cartracker.tracker_data td
left join car c on (c.car_device_no = td.car_id)
left join car_group cg on (c.car_group_no = cg.car_group_no)
where cg.car_group_no = "1"
group by DATE_FORMAT(td.reg_date, "%Y%M%d%h%m")
)total
group by DATE_FORMAT(total.reg_date, "%Y%M%d%h%m")
/*added order by*/
ORDER BY total.reg_date, total.car_id,
) t
그CEIL(row_num/9)
1-9는 1, 10-18은 2, 19-27은 3...의 결과를 제공해야 합니다.제공된 샘플 데이터가 없으므로 https://dbfiddle.uk/ ?rdbms=del_5.5&deldle=19d23c0d22f6eb804ac458bc3a274d25의 간단한 예를 만들었습니다.
저는 또한 당신이 결과의 중심을 잡고 1-9, 10-18의 그룹에 속하는 모든 값들을 합산할 것이라고 생각했습니다. 하지만 그것은 단지 가정일 뿐입니다.하지만, 만약 당신이 그런 일을 하고 싶다면, 당신의 질문을 그에 맞게 업데이트해주세요.
언급URL : https://stackoverflow.com/questions/64583778/split-result-set-into-10-groups
'programing' 카테고리의 다른 글
다른 조각 문제에 대한 조각 (0) | 2023.08.30 |
---|---|
서비스를 시작한 후 도커 컨테이너를 계속 실행하는 방법은 무엇입니까? (0) | 2023.08.30 |
jQuery.each()의 각 반복 사이에 일시 중지를 추가하는 방법은 무엇입니까? (0) | 2023.08.30 |
도커에서 실행 중/중지된 컨테이너의 전체 명령 보기 (0) | 2023.08.30 |
Objective-C에서 Swift 구조체를 사용하는 방법 (0) | 2023.08.30 |