cari

Rumah  >  Soal Jawab  >  teks badan

Pertanyaan SQL mudah: jumlahkan nilai lajur yang sama sekali gus

Saya telah mencipta pertanyaan ini:

SELECT table1.id, b.sum 
FROM table1 
CROSS JOIN (SELECT SUM(id) sum 
            FROM table1) b 
ORDER BY id DESC;

Tetapi ini akan menghasilkan keputusan berikut:

id Jumlah
3 6
2 6
1 6

Nilai jumlah hanya dicetak sekali. boleh tolong saya selesaikan.

Tetapi saya mahukan hasil ini:

id Jumlah
3 6
2
1

P粉685757239P粉685757239429 hari yang lalu602

membalas semua(1)saya akan balas

  • P粉665427988

    P粉6654279882023-09-15 13:01:31

    Ini sepatutnya melakukan silap mata:

    select 
       id,
       CASE WHEN id=(max(id) over()) 
            THEN sum(id) over (order by id) END as 'sum' 
    from cte1
    order by id desc;

    Untuk maklumat lanjut, lihat: Konsep dan sintaks fungsi tetingkap

    balas
    0
  • Batalbalas