sql >> Databasteknik >  >> RDS >> Mysql

Hur man beräknar genomsnittlig försäljning per vecka i MySQL

Genomsnittlig försäljning per vecka är ett användbart mått för alla företag, oavsett vilken bransch du arbetar i. Det ger en bra uppfattning om hur ditt företag går och under en rimlig tidsram. Det hjälper också till att jämna ut det buller som finns i dag-till-dag försäljningssiffror. Så här beräknar du genomsnittlig försäljning per vecka i MySQL.

Hur man beräknar genomsnittlig försäljning per vecka i MySQL

Det finns flera sätt att beräkna genomsnittlig försäljning per vecka i MySQL. Vi kommer att titta på var och en av dem

Låt oss säga att du har en tabell med daglig försäljningsdata försäljning(orderdatum,försäljning)

mysql>create table sales(order_date date,sale int);

mysql>insert into sales(order_date,sale)
values('2020-01-01',10),('2020-01-02',12),('2020-01-03',15),
('2020-01-04',11),('2020-01-05',13),('2020-01-06',9),
('2020-01-07',21),('2020-01-08',10),('2020-01-09',10),
('2020-01-10',2),('2020-01-11',16),('2020-01-12',12),
('2020-01-13',10),('2020-01-14',18),('2020-01-15',15),
('2020-01-16',12),('2020-01-17',10),('2020-01-18',18),
('2020-01-19',14),('2020-01-20',16),('2020-01-21',12),
('2020-01-22',21),('2020-01-23',13),('2020-01-24',15),
('2020-01-25',20),('2020-01-26',14),('2020-01-27',16),
('2020-01-28',15),('2020-01-29',10),('2020-01-30',18);

mysql>select * from sales;
+------------+------+
| order_date | sale |
+------------+------+
| 2020-01-01 |   10 |
| 2020-01-02 |   12 |
| 2020-01-03 |   15 |
| 2020-01-04 |   11 |
| 2020-01-05 |   13 |
| 2020-01-06 |    9 |
| 2020-01-07 |   21 |
| 2020-01-08 |   10 |
| 2020-01-09 |   10 |
| ...        |   ...|
+------------+------+

Beräkna genomsnittlig försäljning per vecka i MySQL

MySQL har en inbyggd funktion WEEK som returnerar årets WEEK-nummer. Du kan enkelt beräkna genomsnittlig försäljning per vecka i MySQL med GROUP BY-sats och AVG-funktion, som visas nedan.

mysql> select week(order_date),avg(sale) from sales
    -> group by week(order_date);
+------------------+-----------+
| week(order_date) | avg(sale) |
+------------------+-----------+
|                0 |   12.0000 |
|                1 |   11.5714 |
|                2 |   13.5714 |
|                3 |   15.8571 |
|                4 |   14.6000 |
+------------------+-----------+

Du kan försköna ditt resultat genom att använda CONCAT- och ROUND-funktionerna - CONCAT kan användas för att sammanfoga anpassade strängar till veckonummer, och ROUND-funktionen kan användas för att avrunda medelvärden. Här är ett exempel,

mysql> select concat('Week ',week(order_date)) as 'Week',round(avg(sale),2) as 'Average Sale'
 from sales group by week(order_date);
+--------+--------------+
| Week   | Average Sale |
+--------+--------------+
| Week 0 |        12.00 |
| Week 1 |        11.57 |
| Week 2 |        13.57 |
| Week 3 |        15.86 |
| Week 4 |        14.60 |
+--------+--------------+

Bonusläsning: Hur man beräknar procentuell tillväxt månad för månad i MySQL

Om din tabell har fler kolumner, vars medelvärden du vill beräkna, kan du helt enkelt lägga till dem i din fråga som visas nedan i fetstil

mysql> select concat('Week ',week(order_date)) as 'Week',round(avg(sale),2) as 'Average Sale'
,round(avg(goal),2) as 'Average Goals',round(avg(revenue),2) as 'Average Revenue'
 from sales group by week(order_date);

Om du vill lägga till filter i din fråga kan du lägga till en WHERE-klausul i din fråga som visas nedan

mysql> select week(order_date),avg(sale) from sales WHERE <condition here>
    -> group by week(order_date);

Bonus Läs: Hur beräknar man total försäljning per månad i MySQL?

MySQL:s veckofunktion ger flera sätt att beräkna veckodata. Dess syntax är

VECKA(datumveckans första dag )

veckans första dag är valfritt och kan ha följande värden

Alternativvärde Veckans första dag Räckvidd Vecka 1 är den första veckan …
0 Söndag 0-53 med en söndag i år
1 måndag 0-53 med mer än 3 dagar i år
2 Söndag 1-53 med en söndag i år
3 måndag 1-53 med mer än 3 dagar i år
4 Söndag 0-53 med mer än 3 dagar i år
5 måndag 0-53 med en måndag i år
6 Söndag 1-53 med mer än 3 dagar i år
7 måndag 1-53 med en måndag i år

Standardvärdet är 0.

När du beräknar genomsnittlig försäljning per vecka i MySQL, var försiktig när du använder det andra argumentet i WEEK-funktionen. Om det inte används på rätt sätt kan det sluta med att du räknar bort genomsnittliga siffror.

Slutligen kan du använda ett rapporteringsverktyg för att plotta den genomsnittliga försäljningen per vecka på en instrumentpanel och dela den med ditt team. Här är ett exempel på stapeldiagram som visar genomsnittlig försäljning per vecka, skapat med Ubiq.

Om du vill skapa försäljningsdiagram, instrumentpaneler och rapporter från MySQL-databasen kan du prova Ubiq. Vi erbjuder en 14-dagars gratis provperiod.

  1. Hur ändrar jag en MySQL-kolumn för att tillåta NULL?

  2. 5 vanliga misstag att undvika när du deduperar din data

  3. Hur man genererar skript för att återskapa främmande nyckelbegränsningar i SQL Server Database - SQL Server / TSQL Tutorial Del 73

  4. Förbereda en MySQL- eller MariaDB-server för produktion - del två