gpt4 book ai didi

mysql - 限制MySQL中的行总和

转载 作者:行者123 更新时间:2023-11-29 23:20:48 25 4
gpt4 key购买 nike

我想限制 p_descriptionp_reference = 1A00001 列中 product_ 的总和,并且仅显示为我们提供总 的行>p_数量 <= 21000。

这是product_table的设计:

CREATE TABLE IF NOT EXISTS `product_table` (
`p_id` int(11) PRIMARY KEY AUTO_INCREMENT NOT NULL,
`p_description` varchar(50) NOT NULL,
`p_reference` varchar(25) NOT NULL,
`p_location` varchar(25) NOT NULL,
`p_quantity` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

INSERT INTO `product_table` (`p_id`, `p_description`, `p_reference`, `p_location`, `p_quantity`) VALUES
(1, 'Product_1', '1A00001', 'AP07', 7000),
(2, 'Product_1', '1A00001', 'AF05', 6000),
(3, 'Product_1', '1A00233', 'DS07', 7000),
(4, 'Product_1', '1A00233', 'SD10', 5000),
(5, 'Product_1', '1A00001', 'YB12', 7000),
(6, 'Product_1', '1A00001', 'AN01', 7000),
(7, 'Product_1', '1A00001', 'AP04', 7000),
(8, 'Product_1', '1A00245', 'AP01', 7000),
(9, 'Product_1', '1A00001', 'QD01', 7000),
(10, 'Product_1', '1A00001', 'SC01', 7000);

最佳答案

您可以尝试创建一个运行总计变量,如下所示:

SET @runtot:=0;
SELECT p_id, p_description, (@runtot := @runtot + p_quantity) AS runningTotal
FROM product_table
WHERE @runtot + p_quantity <= 21000 AND p_reference = '1A00001';

这是SQL Fiddle 。这只会返回找到的满足此要求的第一行,它不会返回可以实现此目的的每个行分组。如果您要寻找的只是满足此要求的任何三行,那么它应该可以正常工作。

关于mysql - 限制MySQL中的行总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27321579/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com