AINULT osa vastusest:
Peate ikkagi toorandmed andmebaasi viima ja arvutatud varude kuupäeva kalendrisse edastama.
SELECT "Kirjeldus", DATEDIFF ('dd ", MIN (" Postitamise kuupäev "), MAX (" Postitamise kuupäev ")) / COUNT (*) AS" Päevad ostu vahel ", SUM (" Summa ") / COUNT (*) AS "keskmine hind", DATEDIFF ('dd', MIN ("postitamise kuupäev"), MAX ("postitamise kuupäev")) / arv (*) kui "keskmine päevade üksus kestab", DATEDIFF ('dd ', MAX ("Postitamise kuupäev"), NOW ()) kui "Viimane ost # päeva tagasi" FROM "krediidist" GROUP BY "Kirjeldus"
Ma töötasin selles LibreOffice'is. Kahjuks ei toeta Libreoffice date_add, nii et ma ei saanud teile uuesti tellimise kuupäeva anda.
Siin on mysqli parem versioon, testitud
SELECT Description, DATEDIFF (MAX ("Postitamise kuupäev"), MIN ("Postitamise kuupäev")) / COUNT (*) AS "Tellimus iga # päeva järel", SUM ("Summa") / COUNT (*) AS "Keskmine hind", MAX ( "Postitamise kuupäev") kui "Viimane ost", DATE_ADD (MAX ("Postitamise kuupäev"), INTERVAL DATEDIFF (MAX ("Postitamise kuupäev"), MIN ("Postitamise kuupäev")) / COUNT (*) PÄEV) kui "Teie saab otsa "FROM" krediidilt "GROUP BY" kirjeldus ";
Proovitulemused (mysql):
Kirjeldus Tellige iga # päeva tagant Keskmine hind viimane Ostetud Teil saab otsa üksusel 24 67.2857 29,8571428571429 06/08/16 12:00 AM 08/14/16 12:00 AMI 4111 90 90 04/06/16 12:00 AM 28/27/16 12:00 AMI 57 57.0.0.090 152.545454545455 21.06.16 12:00 28.07.16 12:00 AM 9, 55.5556 54,88888888888889, 27.05.16 12:00, 22.07.16 12:00, 28.toode 18,9286 127,035714285714 07/03/16 12:00 AM 22/27/16 12:00 AM 42. kirje 16.5882 11.7058823529412 07.05.05 16:00 kell 22.27 16.06 12:00 AM 35 10.5385 21.0192307692308 06.06.16 : 00 AM 07/17/16 12:00 AM 12 12.6098 65.2439024390244 07/03/16 12:00 AM 07/16/16 12:00 AM 25 25.2.2917 6.66666666666667 22.06.16 12:00 07.07.14 00:00
Punkt 38 9.4038 29.3846153846154 07/03/16 12:00 AM 07/12/16 12:00 AM 3 punkt 17.5667 35.0333333333333 22.06.16 00:00 07.10.16 12:00 AM
Lisas nii tellitud tellimuse paremaks ja kärpige loetelu 7 päevaks, et nädala kaupa ostelda.
SELECT `Kategooria`, DATEDIFF (MAX (` Postitamise kuupäev ’), MIN ("postitamise kuupäev")) / ARV (*) AS "tellimus iga # päeva järel", SUM ("summa") / COUNT (*) kui "keskmine hind", MAX ("postitamise kuupäev") kui "viimane ostetud" , DATE_ADD (MAX ("Postitamise kuupäev"), INTERVAL DATEDIFF (MAX ("Postitamise kuupäev", MIN ("Postitamise kuupäev")) / COUNT (*) PÄEV), kui "Kategooria" omades saab otsa < (KOHE () + 7. PÄEVA INTERVAL), tellides "Te saate otsa" DESC;
Kui loote andmebaasi Microsofti juurdepääs või vaba kontoribaas, peaks ülaltoodud valitud avaldus tegema suurema osa raskest tõstmisest. Tegin seda testimiseks mysqli andmebaasis, kuid lisaks väiksematele muudatustele peaks see ka töötama.
- Märkus ajatempel on nii veeru nimi kui ka datatüüp
- ajatempel on Juurdepääsu kuupäev / kellaaeg
- Ostetud toodete salvestamiseks vajate stringidena üksuse veergu.
- Veerg nimega hind.
- Valemit tuleb muuta, kui ostate erinevaid koguseid. Öelge 64oz millestki 1 kord ja 128oz teisest.
- Kogus nagu ostsin 5 kasti, mitte 48oz ega 10lbs.
Kuidas tabelit luua: mysql
MariaDB [test] > kirjeldavad krediiti; + ---------------------------- + ----- --------- + ------ + ----- + --------- + ---------------- + | Väli | Tüüp | Null | Võti | Vaikimisi | Extra | + ---------------------------- + -------------- + --- --- + ----- + --------- + ---------------- + | ID | int (11) | EI | PRI | NULL | automaatne suurendamine || Algse konto number | varchar (100) | JAH | | NULL | |
| Postitamise kuupäev kuupäevaaeg | JAH | | NULL | || Trans kuupäev | kuupäevaaeg | JAH | | NULL | || Tüüp | varchar (100) | JAH | | NULL | || Kategooria varchar (100) | JAH | | NULL | || Kaupmehe nimi | varchar (100) | JAH | | NULL | || Kaupmeeste linn | varchar (100) | JAH | | NULL | || Kaupmees | varchar (100) | JAH | | NULL | || Kirjeldus | varchar (100) | JAH | | NULL | || Tehingu tüüp | varchar (100) | JAH | | NULL | || Summa | kahekordne | JAH | | NULL | || Viitenumber | varchar (100) | JAH | | NULL | | + ---------------------------- + -------------- + ---- - + ----- + --------- + ---------------- + 13 rida komplektis (0,00 sek)
eel>