1
하나의 데이터베이스 테이블에서 원하는대로 데이터를 가져 오기 위해 MySQL 쿼리를 생성하는 데 도움이되는 솔루션을 알고 싶습니다.MySQL 쿼리를 사용하여 고급 필터 문제를 해결하는 방법
Table name: Rates
Columns: id, date, weekday, costA, costB, costC, sellA, sellB, sellC
SAMPLE TABLE DATA
=================
id | date | weekday | costA | costB | costC | sellA | sellB | sellC
----------------------------------------------------------------------
01 2010/6/1 TUE 120 135 140 150 165 180
02 2010/6/2 WED 120 135 140 150 165 180
03 2010/6/3 THU 120 135 140 150 165 180
04 2010/6/4 FRI 120 135 140 150 165 180
05 2010/6/5 SAT 120 135 140 150 165 180
06 2010/6/6 SUN 120 135 140 150 165 180
07 2010/6/7 MON 120 135 140 150 165 180
...
16 2010/6/16 WED 150 140 140 200 220 230
17 2010/6/17 THU 150 140 140 200 220 230
18 2010/6/18 FRI 150 140 140 200 220 230
19 2010/6/19 SAT 150 140 140 200 220 230
20 2010/6/20 SUN 150 140 140 200 220 230
21 2010/6/21 MON 150 140 140 200 220 230
22 2010/6/22 TUE 150 140 140 200 220 230
내가이 테이블에 대해 수행 할 쿼리는 내가 각 비용의 시작 날짜를 얻을 수 및 열 및 변경 가격의 마지막 날짜를 팔고 싶어한다는 것입니다. 어느 나는 다음과 같은 MYSQL 쿼리와 함께 할 것을 처리 않았다
SELECT * FROM rates ID IN(SELECT MIN(ID) FROM `rates` GROUP BY costA,costB,costC,sellA,sellB,sellC) OR ID IN(SELECT MAX(ID) FROM `rates` GROUP BY costA,costB,costC,sellA,sellB,sellC)
어떻게 해결해야하는 문제는 지금, 예를 들어 경우, 매주 수요일과 매주 금요일에는 2010/06에서 두 개의 서로 다른 가격이있는 경우/01 ~ 2010/06/16. 그렇다면 아래에 설명 된대로 주중 총 요약을 제공 할 수있는 쿼리를 어떻게 생성합니까?
id | date | weekday | costA | costB | costC | sellA | sellB | sellC
----------------------------------------------------------------------
01 2010/6/1 TUE 120 135 140 150 165 180
02 2010/6/2 WED 100 100 100 110 120 130
03 2010/6/3 THU 120 135 140 150 165 180
04 2010/6/4 FRI 140 150 160 150 175 180
05 2010/6/5 SAT 120 135 140 150 165 180
06 2010/6/6 SUN 120 135 140 150 165 180
07 2010/6/7 MON 120 135 140 150 165 180
...
16 2010/6/16 WED 100 100 100 110 120 130
17 2010/6/17 THU 150 140 140 200 220 230
18 2010/6/18 FRI 150 140 140 200 220 230
19 2010/6/19 SAT 150 140 140 200 220 230
20 2010/6/20 SUN 150 140 140 200 220 230
21 2010/6/21 MON 150 140 140 200 220 230
22 2010/6/22 TUE 150 140 140 200 220 230
위 표에서 생성해야하는 보고서는 다음과 유사해야합니다. 그것은 2010/06/16 비율에 2010/06/01로 위의 표에서 읽어
id | date | weekday | costA | costB | costC | sellA | sellB | sellC
----------------------------------------------------------------------
01 2010/6/1 TUE 120 135 140 150 165 180
02 2010/6/2 WED 100 100 100 110 120 130
03 2010/6/3 THU 120 135 140 150 165 180
04 2010/6/4 FRI 140 150 160 150 175 180
05 2010/6/5 SAT 120 135 140 150 165 180
15 2010/6/15 TUE 120 135 140 150 165 180
16 2010/6/16 WED 100 100 100 110 120 130
17 2010/6/17 THU 150 140 140 200 220 230
22 2010/6/22 TUE 150 140 140 200 220 230
은 다음과 같습니다
WEEKDAY| costA | costB | costC | sellA | sellB | sellC
SAT 120 135 140 150 165 180
SUN 120 135 140 150 165 180
MON 120 135 140 150 165 180
TUE 120 135 140 150 165 180
WED 100 100 100 110 120 130
THU 120 135 140 150 165 180
FRI 140 150 160 150 175 180
와 2010/06/17부터 2010/06/22
WEEKDAY| costA | costB | costC | sellA | sellB | sellC
SAT 150 140 140 200 220 230
SUN 150 140 140 200 220 230
MON 150 140 140 200 220 230
TUE 150 140 140 200 220 230
WED 150 140 140 200 220 230
THU 150 140 140 200 220 230
FRI 150 140 140 200 220 230
이 문제를 해결할 수있는 해결책이 있기를 바랍니다. 간단히 말해, 내가 여기서하려고하는 것은 정기적 인 요율표를 생성하여 평일을 기준으로 비용/판매 가격 세부 정보를 표시하고 모든 비슷한 주간의 시작일과 종료일을 나타내는 동적 날짜 기간으로 그룹화하는 것입니다.
'평일까지 전체 요약을 줄 수있는 쿼리'- 평일 기준으로 보고서 예가 어떻게 표시되는지 확인하지 못했습니다. 더 자세히 설명해 주실 분? –
아래 두 테이블을 보면 날짜 기간 내의 각 요일별 가격이 표시됩니다 (날짜 기간은 날짜의 모든 가격 변경에 따라 다릅니다). 쿼리에서 출력하려는 결과는 아래 두 테이블과 같아야합니다. 간단히 말해서, 평일과 해당 날짜 기간을 기준으로 가격을 표시 할 수있는 첫 번째 테이블에서 결과를 얻고 싶습니다. 입력 된 일일 가격에 따라 생성되는 요율표와 같은 것입니다. 내 생각이 분명해 지길 바래. 필요한 경우 더 설명 할 수 있습니다. Jonas에게 감사드립니다. – Raf