cari

Rumah  >  Soal Jawab  >  teks badan

Kira jumlah medan dalam jadual lain menggunakan pertanyaan MySQL SQL

Saya mempunyai skema seperti ini: jadual pengguna dengan atribut "user_id" dan "username" dan jadual pesanan dengan atribut "customer_id" (FK user_id) dan "finalPrice" skema pangkalan data Saya ingin mendapatkan pengguna dengan harga tertinggi antara semua kombinasi pesanan (pada asasnya jumlah semua nilai Harga Akhir untuk pesanan, dengan customer_id = user_id) Tidak dapat memikirkan penyelesaian supaya sebarang sokongan akan dihargai

select sum( (select o.final_price from `order` o where u.user_id=o.customer_id)) 
from user u group by u.user_id

itulah yang saya cuba, tetapi saya terus mendapat “子查询返回超过 1 行” mesej ralat. Cuba membaca dokumentasi, tetapi saya masih tidak berpengalaman dengan SQL.

P粉244155277P粉244155277255 hari yang lalu791

membalas semua(1)saya akan balas

  • P粉710478990

    P粉7104789902024-04-07 17:24:28

    Berdasarkan pertanyaan anda Anda tidak boleh menggunakan SUM 函数,而是使用内部的 SUM,这就是为什么它会抛出类似 Subquery 返回超过 1 行的错误

    seperti ini
    SELECT  
    u.user_id,
    (SELECT SUM(o.final_price) FROM `order` o WHERE u.user_id=o.customer_id)
    FROM 
    user u 
    GROUP BY u.user_id;

    balas
    0
  • Batalbalas