Rumah >pangkalan data >tutorial mysql >Apakah kaedah menggunakan mysql sum?

Apakah kaedah menggunakan mysql sum?

藏色散人
藏色散人asal
2023-02-14 09:42:572941semak imbas

Kaedah jumlah mysql: 1. Laksanakan jumlah tunggal melalui "pilih jumlah(nilai) sebagai nilai daripada jadual di mana user_id" 2. Jumlahkan berbilang syarat melalui penyata bersarang, dengan sintaks seperti "( pilih jumlah (nilai) dari jadual di mana jenis = 6 dan type_son = 1) sebagai xj0".

Apakah kaedah menggunakan mysql sum?

Persekitaran pengendalian tutorial ini: sistem Windows 10, MySQL versi 5.7, komputer Dell G3.

Apakah kaedah menggunakan mysql sum?

MySQL SUM() Kaedah penjumlahan bersyarat dan kaedah penjumlahan berbilang syarat

1.

select sum(value) as value from table where user_id = 1 and type = 6 and type_son = 2

nilai ialah medan yang hendak dijumlahkan.

seperti yang diikuti dengan jumlah dan memberikannya nama selepas penjumlahan.

2. Penjumlahan berbilang syarat bagi pernyataan bersarang dalam pernyataan SQL.

select 
 
(select sum(value) from table where type = 6 and type_son = 1) as xj0,
 
(select sum(value) from table where type = 6 and type_son = 2) as xj1,
 
(select sum(value) from table where type = 3 and type_son = 3) as xj2,
 
(select sum(value) from table where type = 4 and type_son = 3) as xj3
 
from table where user_id = 1 limit 0,1

seperti yang diikuti dengan jumlah dan beri nama selepas penjumlahan supaya tidak berlaku konflik.

3. Sama seperti yang kedua, tetapi daripada menjumlahkan dengan pernyataan bersarang, gunakan jumlah untuk menilai jumlah.

select 
 
sum(IF(type = 6 and type_son = 1,value,NULL)) as xj0,
 
sum(IF(type = 6 and type_son = 2,value,NULL)) as xj1,
 
sum(IF(type = 3 and type_son = 0,value,NULL)) as xj2,
 
sum(IF(type = 4 and type_son = 3,value,NULL)) as xj3
 
from table where user_id = 1
 
 
sum(IF('条件判断','求和的字段','NULL不计算'))  as  '别名'

Saya rasa kaedah ketiga lebih baik daripada dua kaedah pertama.

YII 2.0 menggunakan SUM untuk mengira jumlah

$v['alls_bonus'] = AccountingLog::find()
        ->select(["
            sum( IF(type = 6 and type_son = 1,value,NULL) ) as xj0,
            sum( IF(type = 6 and type_son = 4,value,NULL) ) as xj1,
            sum( IF(type = 8 and type_son = 4,value,NULL) ) as xj2, 
            sum( IF(type = 3 and type_son = 1,value,NULL) ) as xj3
        "])
        ->where(['user_id'=>1])
        ->asArray()
        ->one();

Berhati-hati untuk menambah ["jumlah..."] pada pilihan, jika tidak ralat akan berlaku dilaporkan

Pembelajaran yang disyorkan: "Tutorial Video MySQL"

Atas ialah kandungan terperinci Apakah kaedah menggunakan mysql sum?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn