2016-04-08 10 views
0

現時点では、"Waiting"という値を持つテーブル内のすべてのレコードを数えることができますphp - mysqliは特定の値を持つ行を数えます

$query = "SELECT COUNT(*) AS SUM FROM jobs WHERE status='Waiting'"; 

を私はちょうど行う行数をエコーし​​たいときは:これは、使用して行われ

、それはまたのに値を持つテーブル内のすべてのレコードの数をカウントして、私はそれを行うことができますどのように
echo $rows['SUM']; 

「準備完了」

+0

「待っている」、「準備ができている」、「待機している」と「準備ができている」とみんなを数えたいですか? – apokryfos

答えて

0

だから、status='Waiting'またはstatus='Ready'が必要ですか? ORまたはANDでパラメータを区切ることができます。たとえば、

$query = "SELECT COUNT(*) AS SUM FROM jobs WHERE status='Waiting' OR status='Ready'"; 
0

クエリでIN演算子を使用します。ベース

$query = "SELECT COUNT(*) AS SUM FROM jobs WHERE status IN ('Waiting','Ready')"; 

取得・グループ(状態は)GROUP BYオペレータ

$query = "SELECT COUNT(*) AS SUM FROM jobs GROUP BY status"; 

印刷状況に基づく結果を用いてカウントします。

//Create the `mysqli_connection` and assign to `$conn` variable. 
$result = mysqli_query($conn, $query); 

if($result->num_rows>0) 
{ 
    while($row = mysqli_fetch_assoc($result)) 
    {   
     echo "<br>status=" . $row['status']; 
     echo "<br>SUM=" . $row['SUM']; 
    } 
} 
+0

行の数を個別にエコーバックする方法はありますか。たとえば、待機中のジョブの総数、および待機中のジョブの合計。 –

+0

編集した回答をチェックインしてください。結果を印刷するのに役立ちます。 –

2

このクエリは、ステータスで割っすべてstatus数が返されます:これは持つレコードをカウントします

status  tot 
----------- ------ 
Waiting  123 
Ready  80 
...   56 
0
SELECT count(status) AS 'count' FROM jobs GROUP BY status HAVING status='Ready' 

:結果セットは、このようなものである

SELECT status, COUNT(status) AS tot FROM jobs GROUP BY status 

をstatus = Ready。 GROUP BYを使用して、ステータスフィールドに集計を取得します。また、GROUP BYを使用しているため、HAVING(GROUP状況のWHEREと同等)を使用してデータをフィルタリングします。

関連する問題