저는 SQL 쿼리에 다소 익숙하며,이 특정 문제로 고민하고 있습니다. 의 나는 다음과 같은 3 개 레코드를 반환 쿼리 (편의상 하나 개의 컬럼으로 유지) 있다고 가정 해 봅시다 :
톰
잭
톰 발생 빈도로 이름 검색
원하는 결과는 (두 열로)
Tom | 2/3
잭 | 1/3
어떻게 처리하나요? 분자를 결정하는 것은 꽤 쉽습니다 (COUNT()와 GROUP BY 이름을 사용할 수는 있습니다).하지만 반환 된 총 행 수 중 비율로 변환하는 데 문제가 있습니다.
은 어떤 도움이 많이 감사합니다!
글쎄, "names"부분은 사실 내 자신의 긴 쿼리입니다. 일반 쿼리에서 두 번 표시되도록 전체 하위 쿼리를 복사하여 붙여 넣기해야합니까? 아니면 "SELECT 이름, COUNT (이름)/(SELECT COUNT (1) FROM (SELECT ...) AS my_subquery) FROM my_subquery GROUP BY name;"과 같이 할 수 있습니다. ? 만약 그렇다면, 구문을 올바로 볼 수없는 것 같습니다. –
또한, 당신이 제공 한 쿼리의 구조는 작동하지만, "COUNT (1) AS float"으로 바꾸어야했습니다. 그렇지 않으면 정수 나누기를 수행하고 모두 0을 반환했기 때문입니다. –