J'aimerais connaître une solution qui peut m'aider à générer une requête MySQL pour extraire des données comme je le veux d'une seule table de base de données.Comment résoudre un problème de filtre anticipé, en utilisant la requête 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
La requête que je veux faire avec ce tableau est que, je veux obtenir la date de début de chaque coût et vendre la colonne et la dernière date du prix a changé. Ce que j'ai réussi à le faire avec la requête MYSQL suivante:
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)
Comment jamais le problème, je dois aborder est, si dans le cas, par exemple, tous les mercredis et tous les vendredis a deux prix différent de 2010/06/01 au 2010/06/16. Alors, comment puis-je générer une requête qui peut me donner un résumé total par semaine comme expliqué ci-dessous.
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
À partir du tableau ci-dessus, le rapport que je dois générer doit ressembler à celui ci-dessous.
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
Lorsqu'il est lu à partir du tableau ci-dessus 2010/06/01 aux taux d'2010/06/16 sont:
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
et de 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
J'espère qu'il y aura une solution pour résoudre ce problème. En bref, ce que j'essaie de faire ici est de générer un tableau périodique des taux, où il indiquera les détails des coûts/prix de vente basés sur les jours de la semaine et groupés en périodes dynamiques indiquant les dates de début et de fin de chaque semaine similaire.
'une requête qui peut me donner un résumé total par semaine'' - Je ne vois pas comment votre exemple de rapport est un résumé par semaine. Envie d'expliquer plus loin? –
Si vous regardez les deux tableaux du bas, avec les prix pour chaque semaine dans une période de date (les périodes de date dépend de chaque changement de prix sur une date). le résultat que je veux sortir d'une requête devrait être comme les deux tables du bas. Simplement pour dire, je veux obtenir un résultat de la première table qui peut montrer des prix basés sur les jours de la semaine et leur période de date applicable. quelque chose comme un tableau des tarifs produit basé sur les prix quotidiens saisis. J'espère que vous avez eu mon idée claire. Je peux expliquer plus si vous avez besoin. merci Jonas. – Raf