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

Truy vấn để lấy tất cả các bản ghi cho đến khi tổng của cột nhỏ hơn hoặc bằng một giá trị

Bạn có thể làm

SELECT slno, item, price
  FROM
(
  SELECT slno, item, price, @t := @t + price total
    FROM table1 CROSS JOIN (SELECT @t := 0) i
   ORDER BY slno
) q
 WHERE total <= 10000

hoặc

SELECT slno, item, price
  FROM
(
  SELECT slno, item, price, 
  (
    SELECT SUM(price)
      FROM table1
     WHERE slno <= t.slno
  ) total
    FROM table1 t
) q
 WHERE total <= 10000
 ORDER BY slno

Đây là SQLFiddle bản demo




  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 trong đó 1 =0 nhầm lẫn

  2. Cách thực hiện xếp hạng theo nhóm trong MySQL

  3. Có lợi ích gì khi tạo và lập chỉ mục trên khóa chính không?

  4. Cách tốt nhất để ngăn giá trị âm trong mysql

  5. Nhận dữ liệu giữa hai ngày trên MySQL