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

我有一个在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'];


牧羊人nacy
浏览 112回答 1
1回答

忽然笑

您可以使用它SELECT   packageIdFROM  (SELECT packageId, COUNT(*) AS totalSales FROM ph_paypal_payments   GROUP BY packageId) t1ORDER BY totalSales DESCLIMIT 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'];
打开App,查看更多内容
随时随地看视频慕课网APP