我在使用php進行這項工作時遇到了一些麻煩(儘管我認爲這不重要)。如何在單個查詢中選擇兩個計數?
我有一張名爲的表格。它有一個名爲good apples
的列,其值爲0 or 1
。我想要執行一個sql查詢,我想用它在該表中的總蘋果中顯示good apples=1
。如何在單個查詢中統計ALL和good apples=1
,如果這樣做?
我在使用php進行這項工作時遇到了一些麻煩(儘管我認爲這不重要)。如何在單個查詢中選擇兩個計數?
我有一張名爲的表格。它有一個名爲good apples
的列,其值爲0 or 1
。我想要執行一個sql查詢,我想用它在該表中的總蘋果中顯示good apples=1
。如何在單個查詢中統計ALL和good apples=1
,如果這樣做?
試試這個:
select sum(good_apples) as good_count, count(*) as all_count from apples
我想這會做:
SELECT SUM(good_apples), count(good_apples) FROM apple_table
您可以隨時使用MySQL的條件計數。
SELECT
COUNT(goodapples) as totalCount,
COUNT(CASE WHEN apples.goodapples = 1 THEN 1 END)
AS
goodapplecount
FROM
apple;
此方法更受歡迎,因爲可以捕獲您可能想要定義的任何「CASE」。不是說它適用於這種情況,但你甚至有能力「衡量」你的計數。 – Micah 2013-07-23 15:57:52
你可以這樣做:
SELECT b_good_apple, COUNT(b_good_apple) AS apple_count FROM apples
GROUP BY b_good_apple;
,讓你得到了「好蘋果」和「壞蘋果」計數。顯然,兩者的總和就是你的總和。
SELECT count(*) as count,sum(good_apple) FROM `Apple`
嘗試......
SELECT COUNT(good_apples) AS goodApples
FROM apples WHERE good_apples = 1
UNION SELECT COUNT(*) AS totalApples FROM apples
這不好,因爲結果放在兩行上。最終結果應該是一行上的兩個值。 – Micah 2013-07-23 16:31:43
你有沒有總結該列的結果,或者是價值相同的所有行? – JRL 2012-02-07 13:34:47
永遠記得標記爲答案,如果它可以幫助你解決你的問題。 :) – 2012-02-07 13:52:44