더 자세한 설명이 포함 된 제목을 만드는 것은 어렵습니다. 나는 지금 그것에 2 시간을 보내고, 단지 누군가 물을 가장하기 위해 상상했다! 분명히그룹화 된 데이터를 MySQL 쿼리의 행이 아닌 열 형식으로 가져 오기
id | name
1 | Plymouth
2 | Torquay
etc
salesRecords
itemId | saleDate (unix) | qty | saleLocation |
123 | UNIXTIMESTAMP | 1 | 1 |
458 | UNIXTIMESTAMP | 4 | 2 |
215 | UNIXTIMESTAMP | 2 | 2 |
541 | UNIXTIMESTAMP | 1 | 1 |
제품
itemId | brand |
123 | 1 | etc
각 테이블 ACTU :
나는이
위치 같은 모양 3 개 테이블을 가지고 동맹국은 그보다 더 많은 데이터를 포함하고 있지만 이것만으로도 충분합니다.
내가 필요한 것은 특정 항목이 판매 된 각 항목 또는 항목 그룹의 수를 알 수있는 결과물입니다.
이mnth | yr | location1Sales | location2Sales
10 | 2006 | 14 | 7
11 | 2006 | 13 | 12
12 | 2006 | 8 | 1 ... etc
어제 여기에 게시 질문
OUTPUT : 상당히 효율적인 쿼리를 MySQL subquery to get a list of IDs from one table to query a second table
친절하게 대답했고 나에게 준이를 검색하는 I는 다음과 같다 뭔가가 필요 TOTAL
의 모든 지역에 판매량이 통합되어 있습니다 (어제의 질문에 게시 된 검색어와 관련된 위치 데이터가 없습니다).
물론 WHERE
에 추가 절을 추가하고 단일 위치의 데이터 만 가져올 수는 있지만 모든 테이블을 하나의 테이블에 넣기를 원합니다.
오늘 그룹화/where 절을 추가하여 쿼리에 위치를 추가하려고하지만 위 형식의 테이블을 작성하는 방법에 대해 머리를 터지게합니다.
내가 지금까지 행의 위치 데이터 출력의 취득 등이있어,하지만 난에 따라 열 형태로 필요 이상의
SELECT DAY(FROM_UNIXTIME(saleDate)) AS
DAY , MONTH(FROM_UNIXTIME(saleDate)) AS mnth,
YEAR(FROM_UNIXTIME(saleDate)) AS yr,
COUNT(s.id) AS invCount, locations.name,
s.location, SUM(quantity) AS saleQty
FROM salesRecords s
LEFT JOIN locations ON locations.id = s.location
INNER JOIN products ON s.itemNo = products.id
WHERE products.brand = '313' <=== X
AND s.location LIKE '1\_%' <=== XX
GROUP BY `locations`.`name` , mnth, yr
X : 브랜드 ID는 브랜드
에 의해 그룹 제품에 필요한 변수XX :이 데이터의 목적 상 모두 위치 ID로만 필요하지만 걱정하지 않습니다. salesLocation은 "locationId_tilId"
형식으로 판매됩니다. 십자 기호로
나는 이 데이터를 가져 와서 자바 스크립트 배열로 변환하려고 했으므로 차트에 화려한 amChart 플러그인을 사용할 수 있습니다.
것 같습니다. –
그래, 일종의 피벗 작업 일 것 같아. 이것이 MySql에서도 가능한지 전혀 모르겠다. –
미리 결과의 열 번호와 이름을 알고 있다면 그리 나쁘지 않습니다. ....그렇지 않으면 그것은 꽤 추한, 일반적으로 저장 프로 시저를 사용하여 동적 SQL –