SQL의 동일한 SELECT 문의 SUM()에서 백분율 계산
정수 필드 value_a 및 value_b가 있는 my_obj 테이블의 컨텍스트에서 , value_a가 value_b와 같은 행의 비율을 계산할 수 있습니다. 초기 쿼리에서는 저장 프로시저를 사용하여 이를 달성하려고 시도했지만 오류가 발생했습니다.
간소화되고 더욱 효율적인 솔루션
더 간단하고 빠른 접근 방식은 다음과 같습니다.
SELECT property_name ,(count(value_a = value_b OR NULL) * 100) / count(*) AS pct FROM my_obj GROUP BY 1;
이 쿼리는 다음과 같습니다.
- count(value_a = value_b OR NULL) 표현식을 사용하여 value_a가 value_b와 동일한 행 수를 계산하여 백분율 분자입니다. OR NULL을 사용하면 같음 비교에서 NULL 값이 FALSE로 처리됩니다.
- NULL 값이 있는 행을 포함하여 모든 행의 개수를 계산하는 count(*)를 사용하여 백분율의 분모를 계산합니다.
- 분자를 분모로 나누어 백분율을 구하고 이를 별칭에 할당합니다. pct.
NULL 값 처리
이 솔루션은 잘못된 결과나 0으로 나누기 오류가 발생할 수 있는 원래 쿼리와 달리 NULL 값을 적절하게 처리합니다. .
소수점 보존 숫자
결과에서 소수점 이하 자릿수를 유지하려면 쿼리를 다음과 같이 수정하세요.
SELECT property_name ,round((count(value_a = value_b OR NULL) * 100.0) / count(*), 2) AS pct FROM my_obj GROUP BY 1;
이 변경에서는 분자에 100.0을 곱하여 숫자 정밀도를 적용한 다음 round()를 사용합니다. 소수점 이하 자릿수를 지정하려면 보존됩니다.
결론
간단한 쿼리 또는 소수 보존이 포함된 수정된 쿼리를 사용하면 동일한 SELECT 문 내에서 SUM()의 백분율을 효과적으로 계산할 수 있습니다. NULL 값을 적절하게 사용하세요.
위 내용은 단일 SQL SELECT 문의 COUNT()에서 백분율을 효율적으로 계산하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

mysqlblobshavelimits : tinyblob (255bodes), blob (65,535 bytes), mediumblob (16,777,215 bctes), andlongblob (4,294,967,295 Bytes) .tousebl obseffectical : 1) 고려 사항을 고려합니다

MySQL에서 사용자 생성을 자동화하기위한 최고의 도구 및 기술은 다음과 같습니다. 1. MySQLworkBench, 중소형 환경에 적합하고 사용하기 쉽지만 자원 소비가 높습니다. 2. 다중 서버 환경에 적합한 Ansible, 간단하지만 가파른 학습 곡선; 3. 사용자 정의 파이썬 스크립트, 유연하지만 스크립트 보안을 보장해야합니다. 4. 꼭두각시와 요리사는 대규모 환경에 적합하며 복잡하지만 확장 가능합니다. 선택할 때 척도, 학습 곡선 및 통합 요구를 고려해야합니다.

예, youcansearchinsideablobinmysqlusingspecifictechniques.1) converttheblobtoautf-8stringwithConvertFunctionandSearchusing

mysqloffersvariousStringDatatatypes : 1) charfixed-lengthstrings, 이상적인 원인이 길이의 길이가 길이 스트링스, 적합한 포르 플리드 슬리 키나 이름; 3) TextTypesforlargerText, goodforblogpostsbutcactperformance;

TomasterMySQLBLOBs,followthesesteps:1)ChoosetheappropriateBLOBtype(TINYBLOB,BLOB,MEDIUMBLOB,LONGBLOB)basedondatasize.2)InsertdatausingLOAD_FILEforefficiency.3)Storefilereferencesinsteadoffilestoimproveperformance.4)UseDUMPFILEtoretrieveandsaveBLOBsco

blobdatatypesinmysqlareusedforvoringlargebinarydatalikeimagesoraudio.1) useblobtypes (tinyblobtolongblob) 기반 론다 타지 세인. 2) StoreBlobsin perplate petooptimize 성능.

toadduserstomysqlfromthecommandline, loginasroot, whenUseCreateUser'Username '@'host'IdentifiedBy'Password '; toCreateAwUser.grantPerMissionswithGrantAllilegesOndatabase

mysqlofferSeightStringDatatatypes : char, varchar, binary, varbinary, blob, text, enum and set.1) charisfix-length, 2) varcharisvariable-length, 효율적 인 datalikenames.3) binaryandvarbinary-binary Binary Binary Binary Binary Binary Binary Binary-Binary


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

SublimeText3 Linux 새 버전
SublimeText3 Linux 최신 버전

VSCode Windows 64비트 다운로드
Microsoft에서 출시한 강력한 무료 IDE 편집기