返回从MySQL查询

时间:2016-08-11 05:09:33

标签: php mysql joomla joomla-extensions

我对MySQL的了解是基本的。我想构建一个查询,以便在达到给定金额值的总和时返回所有行

  • 给定值:1.20
  • 字段总和:金额
  • 按expirydate排序

表格

id name     expirydate  amount
1  name1    11-08-16     0.20     
2  name2    10-08-16     1.50
3  name3    08-08-16     1.00

我需要来自id 3的结果,2到期日的订单。

2 个答案:

答案 0 :(得分:0)

您可以使用MySQL user defined variables

完成此操作
SET @n := 1.2;

SELECT 
 t.id,
 t.name,
 t.expirydate,
 t.amount
FROM 
(
    SELECT 
    *,
    @bal := @bal + amount AS runningAmount,
    IF(@bal >= @n, @doneHere := @doneHere + 1 , @doneHere) AS whereToStop
    FROM table_amount
    CROSS JOIN (SELECT @bal := 0.0 , @doneHere := 0) var
    ORDER BY expirydate
) AS t
WHERE t.whereToStop <= 1

查看 WORKING DEMO

答案 1 :(得分:0)

如果您使用的是PHP,则可以使用以下循环从查询中获取所有结果。查询将获得结果并通过while循环我们可以显示所有记录。

   <?php
 $query =   mysqli_query($db, "SELECT * FROM table WHERE amount >= 1.2 ORDER BY expirydate");
while($array = mysqli_fetch_array($query)){
        echo $row['name'].' '.$row['amount'].' '.$row['expirydate'].'<br>';


      }
?>