>  Q&A  >  본문

MySQL에서 피벗 테이블 출력을 구현하는 방법

<p>다음과 같은 MySQL 테이블이 있는 경우:</p> <사전>company_name 작업 페이지 수 ---------------------------------- A사 인쇄 3 A사 인쇄 2 A사 인쇄 3 회사 비메일 B사 PRINT 2 B사 PRINT 2 B사 인쇄 1 A사 인쇄 3 </pre> <p>MySQL 쿼리를 실행하여 다음 출력을 얻을 수 있습니까?</p>
company_name 이메일 1페이지 인쇄 2페이지 인쇄 3페이지 인쇄
------------------------------------- ----------
A사 0 0 1 3
B사 1 1 2 0
</pre>
<p><code>pagecount</code>는 다양할 수 있으므로 출력의 열 수는 이를 반영해야 하며 각 <code>action</code>/<code>pagecount< ;/code> 각 <code>company_name</code>에 대한 클릭수입니다. 이것이 피벗 테이블이라고 불리는지 잘 모르겠지만 누군가 이것을 제안한 적이 있습니까? </p>
P粉481035232P粉481035232425일 전511

모든 응답(2)나는 대답할 것이다

  • P粉154228483

    P粉1542284832023-08-22 11:20:30

    내 솔루션은 피벗 없이 T-SQL을 사용하는 것입니다.

    으아악

    회신하다
    0
  • P粉366946380

    P粉3669463802023-08-22 00:09:42

    이것은 기본적으로 피벗 테이블입니다.

    이 기능을 구현하는 방법에 대한 자세한 튜토리얼은 여기에서 찾을 수 있습니다: http://www.artfulsoftware.com/infotree/qrytip.php?id=78

    이 기사를 읽고 필요에 맞게 솔루션을 적용하는 것이 좋습니다.

    업데이트

    위 링크는 현재 더 이상 사용할 수 없으므로 여기에서 mysql 피벗 테이블에 대한 답변을 찾는 모든 사람에게 추가 정보를 제공해야 한다고 느꼈습니다. 여기에는 많은 정보가 포함되어 있으므로 여기에 모든 내용을 복사하지는 않겠습니다(그들의 방대한 지식을 복사하고 싶지는 않습니다). 그러나 SQL에서 피벗 테이블을 사용하는 방법에 대한 몇 가지 제안을 The peku가 제기한 질문이 그 예입니다.

    곧 링크가 복구될 수도 있으니 계속 팔로우하겠습니다.

    스프레드시트 방법...

    많은 사람들이 이러한 목적으로 MSExcel, OpenOffice 또는 기타 스프레드시트 도구를 사용합니다. 이것은 유효한 솔루션입니다. 데이터를 거기에 복사하고 GUI에서 제공하는 도구를 사용하여 문제를 해결하십시오.

    하지만...이것은 문제의 핵심이 아니며 데이터를 스프레드시트로 가져오는 방법, 크기 조정 문제 등과 같은 몇 가지 단점으로 이어질 수도 있습니다.

    SQL 방식...

    그의 시계가 다음과 같다고 가정해 보세요:

    으아악

    이제 자녀가 원하는 시계를 살펴보세요.

    으아악

    行(EMAIL, PRINT x pages)表示条件。主要分组是按company_name 진행했습니다.

    조건을 설정하려면 CASECASE语句。为了按某个东西进行分组,使用...GROUP BY 문을 사용하는 것과 비슷합니다. 항목별로 그룹화하려면...GROUP BY를 사용하세요.

    이 피벗 테이블을 제공하는 기본 SQL은 다음과 같습니다.

    으아악

    이렇게 하면 원하는 결과가 매우 빠르게 제공됩니다. 이 접근 방식의 가장 큰 단점은 피벗 테이블에 더 많은 행을 포함하려는 경우 SQL 문에 더 많은 조건을 정의해야 한다는 것입니다.

    이것도 처리 가능하므로 사람들은 준비된 명령문, 루틴, 카운터 등을 사용하는 경향이 있습니다.

    이 주제에 대한 추가 링크:

    회신하다
    0
  • 취소회신하다