cari

Rumah  >  Soal Jawab  >  teks badan

Pertanyaan untuk mengira purata setiap suku tahun

Saya baru menggunakan MySQL dan memerlukan bantuan anda untuk memikirkan pertanyaan supaya saya boleh mengira purata bagi setiap suku tahun. Saya mempunyai jadual bernama USretail92_21 yang kelihatan seperti ini (dari 1992 hingga 2021):

Tarikh Jualan
1992-01-01 701.0
1992-02-01 658.0
1992-03-01 731.0
1992-04-01 816.0
1992-05-01 856.0
1992-06-01 853.0
1992-07-01 101.0
1992-08-01 558.0
1992-09-01 431.0

Pertimbangkan format tarikh 1992-01-01 untuk mewakili Januari 1992. Sekarang saya menjalankan pertanyaan berikut untuk mendapatkan suku dan bulan:

选择年份(日期)为年份,月份名称(日期)为月份,季度(日期)为季度,销售额来自 USretail92_21,其中 kind="男装店" order by 1 Ini memberi saya perspektif ini:

tahun bulan Suku Tahun Jualan
1992 Januari 1 701.0
1992 Februari 1 658.0
1992 Mac 1 731.0
1992 April 2 816.0
1992 Mei 2 856.0
1992 Jun 2 853.0

Sekarang soalan saya kepada anda ialah bagaimana untuk mendapatkan purata jualan setiap suku tahun dan mendapatkan output seperti yang ditunjukkan di bawah:

Suku Tahun tahun Jualan purata
1 1992 696 (purata Januari/Februari/Mac)
2 1992 841

Akhirnya, saya mahu melukis carta dalam Python dengan jualan sebagai paksi Y dan "Q1_92 hingga Q4_21" sebagai paksi X

P粉521697419P粉521697419357 hari yang lalu446

membalas semua(1)saya akan balas

  • P粉788765679

    P粉7887656792024-01-30 09:01:32

    Anda perlu menggunakan GROUP BY untuk mengira pengagregatan seperti jumlah dan purata.

    Bekerja dari contoh anda:

    WITH SalesPerMonth AS (
      select year(date) as Year,
      monthname(date)as Month, 
      quarter(date) as Quarter, 
      sales from USretail92_21 
      where kind="Men's clothing stores" 
    )
    SELECT Quarter, Year, AVG(Sales) AS AverageSales
    FROM SalesPerMonth 
    GROUP BY Quarter, Year

    Atau lakukan semuanya sekaligus:

    select year(date) as Year,
           quarter(date) as Quarter, 
           AVG(sales) AverageSales
    from USretail92_21 
    where kind="Men's clothing stores"
    group by year(date),
             quarter(date)

    balas
    0
  • Batalbalas