내 제목이 맞는지 확실하지 않지만 주문에 문제가 있다고 생각합니다.지난 주에 현재의 카운트 값을 비교하십시오
ID | name | week | total
========================
1 | Foo | 9 | 2
2 | Bar | 9 | 4
3 | Lou | 9 | 3
4 | Zoo | 9 | 5
...
21 | Foo | 10 | 10
22 | Bar | 10 | 12
23 | Lou | 10 | 14
24 | Zoo | 10 | 16
...
45 | Foo | 11 | 16
46 | Bar | 11 | 12
48 | Lou | 11 | 24
49 | Zoo | 11 | 24
week
의 total
은 그것의 전임자 항상 크거나 같은 :
나는 week
당 특정 name
's의 total
값을 계산합니다.
이 같은 가능한 마지막week
의 수를 좀하고 싶습니다은 :
name | week | count
===================
Foo | 11 | 6 //= 16-10
Bar | 11 | 0 //= 12-12
Lou | 11 | 10 //= 24-14
Zoo | 11 | 8 //= 24-18
내가 현재 가지고 있지만 테이블에서 사용 가능한 첫 번째주 항상 반환 무엇을 그
SELECT a.*,
a.total - b.total AS count
FROM table AS a
LEFT JOIN table AS b
ON a.name = b.name
AND a.week = b.week + 1
GROUP BY b.name
또한 의 모든 주과 그의 값을 가진 목록을 얻고 싶습니다. 당신은 내가 하위 선택을 사용하는 모든 주에 대한 결과를 원하는 경우에는 주
SELECT current.name, current.week, current.count - last.count
FROM table as current
JOIN table as last
ON current.name = last.name
AND current.week = last.week - 1
WHERE current.week = 11
을 정의 할 수 있도록의
예제에는 매주 2 주 밖에 걸리지 않아 각 이름에 대한 새로운 행이 추가되어 – Xaver
무슨 뜻인지 확실치 않습니다. 기본적으로 매주 판매가 필요합니다. 'total'은'name'의 총 판매 개수입니다. – Xaver
ok 또 한 주가 추가되었습니다. 이것이 도움이되는지 확실하지 않지만 연간 52 주까지있을 수 있으며 항상 최신 (현재) 주 수를 알고 싶습니다. 이 표에는 1 년짜리 열이 포함되어 있지만이 값을 추가하면 더 혼란 스러울 수 있으므로 간단하게 유지하기로 결정했습니다. – Xaver