GROUP_CONCAT를 사용하여 짝수와 홀수를 분할하는 쿼리
특정 우편번호에 4개의 번호가 있는 거리별 주거지를 찾는 질문이 있습니다.
SELECT *,
GROUP_CONCAT(DISTINCT CAST(housenumber AS int) ORDER BY housenumber ASC) AS housenumbers
FROM streets
WHERE postcode LIKE '3031%'
GROUP BY street
ORDER BY lat,lon
이것은 집단고양이의 결과입니다.
491,492,493,500,501,502,503,504,505,506,507,508,50
결과를 짝수값과 홀수값으로 두 열로 나누고 싶습니다.나는 노력했다.MOD
그리고.%2
단, 둘 다WHERE
또, 이 명령어를 사용할 수 없습니다.WHERE
'그룹캣'이라는 기능에서요.
결과를 짝수와 홀수로 나누려면 어떻게 해야 하나요?
사용할 수 있습니다.CASE
식:
SELECT street
,GROUP_CONCAT(DISTINCT CASE WHEN MOD(CAST(housenumber AS int),2) = 0 THEN CAST(housenumber AS int) END ORDER BY housenumber ASC) AS housenumbers_even
,GROUP_CONCAT(DISTINCT CASE WHEN MOD(CAST(housenumber AS int),2) = 1 THEN CAST(housenumber AS int) END ORDER BY housenumber ASC) AS housenumbers_odd
FROM streets
WHERE postcode LIKE '3031%'
GROUP BY street
ORDER BY lat,lon;
스킵하기 때문에 동작합니다.NULL
가치.
또한.SELECT * ... GROUP BY street
안전하지 않아요관련: mySQL 및 postgre의 Group by 절SQL, 왜 postgreSQL에서 오류가 발생합니까?
언급URL : https://stackoverflow.com/questions/59490951/query-to-split-even-and-odd-numbers-with-group-concat
'programing' 카테고리의 다른 글
IP 주소로 ping을 실행할 수 있는데 InetAddress.isReachable이 false를 반환하는 이유는 무엇입니까? (0) | 2022.09.19 |
---|---|
여러 체크박스에서 $_POST 가져오기 (0) | 2022.09.19 |
2개의 어레이가 Foreach 루프에 있음 (0) | 2022.09.19 |
datetime 값을 얻으려면 어떻게 해야 합니까?python에서 timezone을 인식하고 있습니까? (0) | 2022.09.19 |
명령줄에서 MySQL 덤프를 다운로드하는 중 (0) | 2022.09.19 |