What is this; why are they different?
/COUNT(*)100
and
COUNT()100
and
COUNT()*100
Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.
Hi everybody, Can anyone help me please, i want to convert this query to Laravel:
$stmt = $con->prepare('
SELECT SUM(rating IN (4.5, 5))/COUNT(*)*100 AS pct_5_star,
SUM(rating IN (3.5, 4))/COUNT(*)*100 AS pct_4_star,
SUM(rating IN (2.5, 3))/COUNT(*)*100 AS pct_3_star,
SUM(rating IN (1.5, 2))/COUNT(*)*100 AS pct_2_star,
SUM(rating IN (0.5, 1))/COUNT(*)*100 AS pct_1_star,
AVG(rating) AS avg_rating
FROM ratings
WHERE id_product = ?');
$stmt->bind_param('i', $id_product);
$stmt->execute();
$percents = array(;
$stmt->bind_result($percents[5], $percents[4], $percents[3], $percents[2], $percents[1], $avg_rating);
if ($stmt->fetch()) {
for ($i in array(5, 4, 3, 2, 1)) {
echo "%i stars: " . round($percents[$i]) . "%<br>";
}
echo "Average rating: $avg_rating<br>";
} else {
echo "This product is not yet rated<br>";
Sorry i'm still newbie. Thank u so much for anyhelp.
Please or to participate in this conversation.