Mysql在计数x

Mysql在计数x,mysql,select,count,while-loop,Mysql,Select,Count,While Loop,我有一个表,它有一个名为itemCount的列,我想在sumtitemcount小于y时选择前n行 假设y=15,那么在这种情况下,我想要前2行,其中sumtItemCount是,它是: SELECT test.id, test.itemCount FROM test LEFT JOIN (SELECT id, @sum:=@sum+itemCount AS current_sum FR

我有一个表,它有一个名为itemCount的列,我想在sumtitemcount小于y时选择前n行

假设y=15,那么在这种情况下,我想要前2行,其中sumtItemCount是,它是:

SELECT 
   test.id,
   test.itemCount 
FROM 
   test 
     LEFT JOIN 
       (SELECT 
         id, 
         @sum:=@sum+itemCount AS current_sum 
        FROM 
          test 
          CROSS JOIN(SELECT @sum:=0) AS init) AS sums 
     ON test.id=sums.id 
WHERE sums.current_sum<=15;

我不能理解这个问题。您可以用文字表达您的需求,而不是指定查询。你想要求和,所以很明显你想按什么参数分组?你想要求和吗
SELECT * FROM `tbl_mail_queue` LIMIT 0,(select count(id) from `tbl_mail_queue` m where SUM(m.`count`)<=15)
SELECT 
   test.id,
   test.itemCount 
FROM 
   test 
     LEFT JOIN 
       (SELECT 
         id, 
         @sum:=@sum+itemCount AS current_sum 
        FROM 
          test 
          CROSS JOIN(SELECT @sum:=0) AS init) AS sums 
     ON test.id=sums.id 
WHERE sums.current_sum<=15;