Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Zapytanie, aby uzyskać wszystkie rekordy, aż suma kolumny będzie mniejsza lub równa wartości

Możesz zrobić

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

lub

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

Oto SQLFiddle 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. Jak stworzyć bloga w bazie PHP i MySQL - Admin Posts

  2. Jak zsumować pojedynczą kolumnę na podstawie grupowania w MySQL?

  3. Nie można utworzyć modelu danych encji — przy użyciu MySql i EF6

  4. Nie można zaimportować mysql-python w crontab Mac OS

  5. Promise-MySQL nie może zwolnić połączeń z powrotem do puli