Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

SQL:Cách chọn các hàng có tổng giá trị nhất định

Bạn có thể sử dụng một truy vấn con tương quan để lấy tổng số đang chạy và truy xuất những hàng có tổng số đang chạy int . nếu nó là varchar so sánh sẽ trả về kết quả sai)

select id,user_id,storage
from uploads t
where storage+coalesce((select sum(storage) from uploads 
                        where storage<t.storage),0) < 410000
order by storage

SQL Fiddle

Chỉnh sửa:Khi có các giá trị trùng lặp trong cột lưu trữ, nó phải được tính vào tổng đang chạy bằng cách bao gồm một điều kiện cho id cột. (trong trường hợp này là < điều kiện đã được sử dụng, vì vậy id nhỏ nhất cho giá trị lưu trữ trùng lặp sẽ được chọn)

select id,user_id,storage
from uploads t
where storage+coalesce((select sum(storage) from uploads 
                        where storage<t.storage 
                        or (storage=t.storage and id < t.id)),0) < 410000
order by storage


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. thiết lập danh sách bạn bè trong mysql

  2. MySQL:JSON nhúng so với bảng

  3. mysql - Tối ưu hóa ĐẶT HÀNG BẰNG THAN trên cột bảng đã tham gia

  4. MySQL không coi ı là tôi?

  5. Microsoft SQL DB sang MySQL DB