SQL 그룹화 및 정렬에서 여러 결과 행 처리
데이터를 그룹화하고 정렬하는 쿼리에서는 그룹화 키가 동일한 여러 행이 있지만 다른 열의 값이 다른 경우가 종종 발생합니다. 이로 인해 필요한 집계 데이터를 얻지 못할 수 있습니다.
예를 들어 하드웨어 모델별로 데이터를 그룹화하는 쿼리는 동일한 모델에 대해 서로 다른 '결과'가 포함된 여러 행을 반환할 수 있습니다. 이를 모델당 하나의 행으로 압축하려면 실제 0 값이 0 값이 되고, 0이 아닌 값이 1 값이 되도록 쿼리를 수정하면 됩니다. 그러나 이 접근 방식은 여러 "결과" 값이 있는 모델에 대해 여전히 여러 행을 생성합니다.
원하는 집계를 달성하는 열쇠는 결과를 나타내는 소스 열이 아닌 CASE 표현식을 기준으로 그룹화하는 것입니다. 조건 값별로 그룹화하면 쿼리에서 그룹화 키와 조건 결과가 동일한 행을 결합할 수 있습니다.
예를 들어 다음 쿼리는 결과 값을 변환하는 데 사용되는 모델 이름, 시도 유형 및 CASE 표현식을 기준으로 그룹화됩니다.
SELECT CURRENT_DATE-1 AS day, model.name, attempt.type, CASE WHEN attempt.result = 0 THEN 0 ELSE 1 END, count(*) FROM attempt attempt, prod_hw_id prod_hw_id, model model WHERE time >= '2013-11-06 00:00:00' AND time < '2013-11-07 00:00:00' GROUP BY model.name, attempt.type, CASE WHEN attempt.result = 0 THEN 0 ELSE 1 END ORDER BY model.name, attempt.type, CASE WHEN attempt.result = 0 THEN 0 ELSE 1 END;
또는 CASE 표현식의 열 별칭을 사용하여 결과 원본 열과 구별할 수 있습니다.
SELECT CURRENT_DATE-1 AS day, model.name, attempt.type, CASE WHEN attempt.result = 0 THEN 0 ELSE 1 END AS result1, count(*) FROM attempt attempt, prod_hw_id prod_hw_id, model model WHERE time >= '2013-11-06 00:00:00' AND time < '2013-11-07 00:00:00' GROUP BY model.name, attempt.type, result1 ORDER BY model.name, attempt.type, result1;
위치 참조(예: "GROUP BY 1,2,3")를 사용하여 CASE 표현식으로 그룹화하는 것이 GROUP BY 절에서 열 이름을 사용하는 것보다 SELECT 목록의 변경에 더 저항한다는 점을 기억하는 것이 중요합니다.
위 내용은 SQL에서 데이터를 그룹화하고 정렬할 때 여러 결과 행을 처리하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 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 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

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

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

PhpStorm 맥 버전
최신(2018.2.1) 전문 PHP 통합 개발 도구

에디트플러스 중국어 크랙 버전
작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기