찾다

 >  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粉926174288P粉926174288476일 전424

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

  • P粉368878176

    P粉3688781762023-08-24 17:12:04

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

    으아악

    회신하다
    0
  • P粉384244473

    P粉3842444732023-08-24 14:49:27

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

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

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

    업데이트

    위의 링크를 현재 더 이상 사용할 수 없으므로 여기에서 mysql 허브 답변을 검색하는 모든 사람에게 추가 정보를 제공해야 한다고 느꼈습니다. 여기에는 많은 정보가 있으므로 여기에 모든 정보를 넣지는 않겠습니다(또는 그들의 방대한 지식을 복제하고 싶지 않기 때문에 더 많이). 그러나 일반적으로 피벗을 처리하는 방법에 대한 몇 가지 조언을 제공하겠습니다. sql Method 테이블에서 처음 질문한 peku를 예로 들어보겠습니다.

    곧 링크가 다시 올라올 수도 있으니 주의 깊게 살펴보겠습니다.

    스프레드시트 방법...

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

    하지만... 이는 문제가 되지 않습니다. 데이터를 스프레드시트로 가져오는 방법, 크기 조정 문제 등과 같은 몇 가지 단점이 발생할 수도 있습니다.

    SQL 방식...

    그의 형태는 다음과 같습니다:

    으아악

    지금 원하는 양식 보기:

    으아악

    알았어 (电子邮件打印 x 页)类似于条件。主要分组是按company_name.

    조건을 설정하려면 <代码>CASE 문을 사용해야 합니다. 항목별로 그룹화하려면...GROUP BYGROUP BY를 사용하세요.

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

    으아악

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

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

    이 주제에 대한 다른 링크:

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