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