Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Pilih jumlah baris minimal dengan jumlah total lebih besar dari atau sama dengan ambang batas yang diberikan

select id from 
    (select id, if(not(@sum > 0.9), 1, 0) mark,  (@sum:[email protected]+value) as sum 
        from trade cross join  (select @sum:=0) s  
        where price=2 order by value asc) t 
where mark =1 

Kueri dalam menghitung jumlah kumulatif dan bidang tambahan mark , yang sama dengan one sementara jumlah kurang dan berubah menjadi nol ketika lebih dari 0,9. Karena bekerja satu langkah kemudian, ia mengumpulkan baris pertama di mana jumlah di atas batas.

Hasil seleksi dalam

id   mark   sum
4    1      0.30000001192092896
2    1      0.800000011920929
3    1      1.699999988079071

Sekarang di kueri luar Anda hanya perlu memilih baris dengan mark sama dengan 1. Dan hasilnya 4,2,3

demo di sqlfiddle



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MYSQL Nilai GANDA salah terpotong

  2. Cara yang benar untuk menyimpan data dalam database SQL ketika kolom tidak diketahui

  3. Dapatkan jumlah baris dalam tabel A yang memiliki referensi ke tabel B

  4. array untuk beberapa kondisi where_in dalam codeigniter

  5. Hitung berbeda per tahun fiskal dan tampilkan semua tanggal dalam hasil kueri