[英]Using DISTINCT keyword with count in SQL Query
我有一個頁面顯示所有公司名稱的列表(確切地說是45個)。
數據庫表當前有43,415個結果,所以我只想顯示它們沒有重復(這就是為什么我在選擇時使用DISTINCT)但我還想計算每個公司有多少結果並回應它們。
我嘗試使用count() as
但是它刪除了所有公司結果並且只放置了總數(43,415)。
我的問題是如何使用DISTINCT顯示公司(因為我不希望在頁面上有重復項),然后還要顯示每個公司的總結果?
任何幫助表示贊賞!
$servername = "localhost";
$username = "";
$password = "";
$dbname = "";
// Connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT DISTINCT company FROM ads ORDER BY company ASC";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
// Display the company name
echo $row["company"];
// I WOULD LIKE TO ECHO OUT HERE THE TOTAL OF EACH COMPANY HAS (COUNT) IN RESULTS!
}
} else {
echo "0 results";
}
$conn->close();
?>
嘗試:
SELECT
company,
COUNT(company)
FROM
ads
GROUP BY
company
ORDER BY
company
我認為您應該嘗試使用GROUP BY
子句。
不知道你的表標記嘗試玩這個:
$query = "SELECT
count(company) as count
FROM ads
GROUP BY company
ORDER BY company ASC"
在您的SELECT查詢中使用GROUP BY,這應該是您正在尋找的,這將把所有相同的公司組合在一起並計算它們。
“SELECT COUNT(公司)來自廣告GROUP BY公司ORDER BY公司ASC”
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.