簡體   English   中英

在SQL Query中使用DISTINCT關鍵字和count

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM