为了账号安全,请及时绑定邮箱和手机立即绑定

有没有办法在php中获得大多数购买的软件包?

有没有办法在php中获得大多数购买的软件包?

PHP
牧羊人nacy 2022-09-24 10:33:54
我有一个在php中的网络应用程序。用户可以在其中购买包,管理员可以查看每个包的销售额。现在,我通过计算付款表中的行来获得总销售额。要获得购买最多的包裹,我认为我必须计算数据库中付款表中的行数,并返回大多数购买包裹的ID。但我不去这个?从 Id 获取包裹销售的当前语句:$sql = "SELECT COUNT(*) AS totalSales FROM ph_paypal_payments WHERE packageId = ?";$stmt = mysqli_stmt_init($connection);if (!mysqli_stmt_prepare($stmt, $sql)) die ("Prepare failed: " . mysqli_stmt_error($stmt));mysqli_stmt_bind_param($stmt, "i", $packageId);mysqli_stmt_execute($stmt);return mysqli_fetch_assoc(mysqli_stmt_get_result($stmt))['totalSales'];
查看完整描述

1 回答

?
忽然笑

TA贡献1806条经验 获得超5个赞

您可以使用它


SELECT 

  packageId

FROM

  (SELECT packageId, COUNT(*) AS totalSales FROM ph_paypal_payments 

  GROUP BY packageId) t1

ORDER BY totalSales DESC

LIMIT 1;

Ir 为您提供一个总销售额最高的包 ID。即使还有更多,它仍然只得到其中之一。


这是基于行数,而不是销售数量。


$sql = "SELECT packageId FROM (SELECT packageId, COUNT(*) AS totalSales FROM ph_paypal_payments GROUP BY packageId) t1 ORDER BY totalSales DESC LIMIT 1;";

$stmt = mysqli_stmt_init($connection);

if (!mysqli_stmt_prepare($stmt, $sql)) die ("Prepare failed: " . mysqli_stmt_error($stmt));


mysqli_stmt_bind_param($stmt, "i", $packageId);

mysqli_stmt_execute($stmt);

return mysqli_fetch_assoc(mysqli_stmt_get_result($stmt))['packageId'];


查看完整回答
反对 回复 2022-09-24
  • 1 回答
  • 0 关注
  • 111 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号