2011-02-13 46 views
0

我有以下SQL查詢:mysql的多在條款和計數

SELECT field_number, COUNT(*) AS c FROM lead_detail WHERE field_number < 3 AND field_number > 2 AND lead_id IN (147,146,145,127,113) GROUP BY field_number 

它返回:

field_number c 
2.1   5 
2.2    5 
2.3    1 
2.4    1 
2.5    5 

我只希望根據用戶的選擇,所以我用來顯示一些字段:

SELECT field_number, COUNT(*) AS c FROM lead_detail WHERE field_number < 3 AND field_number > 2 AND lead_id IN (147,146,145,127,113,109,91,65,57,56,49) AND field_number IN (2.1,2.3) GROUP BY field_number 

但是現在有了這個查詢即時得到0個結果。我試圖把AND field_number = 2.1沒有成功。 任何線索爲什麼會發生這種情況,或者我可以如何避免這種情況? lead_id id`s不都field_numbers,我想這也許就是這個原因。例如,在lead_id 147我們可以發現field_numbers 2.1和2.3,並在lead_id 146,我們發現2.4和2.5 感謝您的幫助很大

回答

1

呦在查詢一個錯字錯誤是假設是COUNT(*) AS c 也有兩個不必要的聲明沒有使用field_number < 3 AND field_number > 2field_number IN (2.1,2.3) 所以最終的查詢應該是這樣的:

SELECT field_number, COUNT(*) AS c 
FROM lead_detail 
WHERE lead_id IN (147,146,145,127,113,109,91,65,57,56,49) 
    AND field_number IN (2.1,2.3) 
GROUP BY field_number 
+0

沒有AS仍然有效,但感謝指向正確的sintax。仍然給0結果因子評分 – chifliiiii 2011-02-13 17:00:11