簡體   English   中英

如何使用特定條件計算 SQL 表中的行數?

[英]how to count the number of rows in SQL table using specific criteria?

我有兩列數據。 一列稱為“like”,其中包含數字 1 或 0。另一列稱為“object”,可以包含任何單詞。 我想計算“like”列中的數字 1 與“object”列中的某個單詞重合的行數。

我努力了

$numrow1 = mysql_query("SELECT * FROM tablename WHERE like = 1 AND object = '$object' "); 
$numlikes = mysql_num_rows($numrow1);

但我遇到了語法錯誤。 任何幫助,將不勝感激。

如果您只想獲取使用的行數,count() 效率更高:

SELECT count(*) 
FROM tablename 
WHERE `like` = 1 
AND object = '$object'

您沒有向我們顯示錯誤消息,但我猜這是因為like是保留字,因此您需要引用列名(我強烈建議使用不同的名稱以避免將來出現這些問題)。

如果您在 ANSI 兼容模式下運行 MySQL,您還可以使用標准雙引號來轉義列名:

SELECT count(*) 
FROM tablename 
WHERE "like" = 1 
AND object = '$object'

我不確定,但object也可能是保留字,因此也可能需要引用。

LIKE是一個sql 字符串比較運算符,甚至可能是 object。 如果您有一個帶有保留名稱的字段,那么您必須直接尋址或轉義它。

mysql_query中重新格式化 SQL 語句,如下所示:

SELECT * 
FROM tablename AS T 
WHERE T.like = 1 
      AND T.object = '$object'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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