有人能教我如何检索我的表中的前5名产品吗?基于销售额,我使用codeigniter我尝试过这样的方法
$conn = new mysqli("localhost", "root","","bubblebee");
if ($conn->connect_errno) {
printf("Connect failed: %s\n", $conn->connect_error);
exit();
} else {
echo 'Connection success <br>' ;
}
$total = "SELECT product_id, SUM(amount)
FROM order_items
GROUP BY product_id
ORDER BY SUM(Amount) DESC
LIMIT 3";
$statement = $conn->query($total);
if (!$statement = $conn->query($total)) {
echo 'Query failed: ' . $conn->error;
} else {
foreach($statement as $row){
echo $row['product_id'] . '<br>';
}
}
还有这个
$select = array('products.name as label', 'sum(order_items.amount) as amount');
$final = $this -> db -> select($select)
-> from('products')
-> join('order_items', 'order_items.product_id = products.id', 'left')
-> group_by('products.id')
-> order_by('products.id', 'DESC')
-> limit(5)
-> get() -> result_array();
我仍然无法使其工作,但我在本地主机中尝试了我的查询,它正在工作,它正在检索产品ID和我正在使用此查询的金额总和
SELECT product_id, SUM(amount) FROM order_items GROUP BY product_id ORDER BY SUM(Amount) DESC LIMIT 5
1条答案
按热度按时间0tdrvxhp1#
试试看
源代码
SELECT product_id, SUM(amount) FROM order_items GROUP BY product_id ORDER BY SUM(Amount) DESC LIMIT 5