2012-03-25 72 views
0

如何返回由該查詢,而不是查詢結果返回的行數:COUNT行涉及選擇特定的行+ FROM + WHERE +和

SELECT collections.name, collections.description, collections.collection_id, collections.name, collections.description, collections.date, users.name 
FROM users, collections 
WHERE collections.user_id = users.user_id 
AND (
collections.description LIKE "%%searchTerm%%" 
OR collections.name LIKE "%%searchTerm%%" 
OR users.name LIKE "%%searchTerm%%" 
) 
AND (
reported = false 
OR (
reviewed = true 
AND approved = true 
) 
) 
+0

'SELECT DISTINCT COUNT(*)...' – rackemup420 2012-03-25 22:45:28

回答

0

你可以使用計數(1)或計數(collections.collection_id)

SELECT 
    count(collections.collection_id) 
FROM 
    users, 
    collections 
WHERE 
    collections.user_id = users.user_id 
    AND (
      collections.description LIKE "%%searchTerm%%" 
      OR collections.name LIKE "%%searchTerm%%" 
      OR users.name LIKE "%%searchTerm%%" 
     ) 
    AND (
     reported = false 
     OR (
      reviewed = true 
      AND approved = true 
     ) 
    ) 
+0

工作,謝謝 – johowie 2012-03-25 22:54:20

0

兩種方式,你可以

SELECT count(*) 
FROM... 

它將以實際數據爲代價返回計數,或者您可以使用您正在使用的任何語言的函數來查詢數據庫以檢查有多少行。

+0

好的一點關於也許在語言中做倒數計算提出了mysql請求(在這種情況下是PHP)。我應該重新考慮我正在做的事情,因爲我實際上是以限制再次重新執行查詢。這個最初的查詢是計算分頁腳本中的頁數。 – johowie 2012-03-25 22:57:01