這裏是我的表中的數據:執行「簡單」的SQL查詢
id name surname place
1 test1 isdad YES
2 test2 spreda YES
3 test3 me NO
4 test4 smallvile YES
我希望得到什麼,所有的ID,其中地方=「YES」。因此,IDS是
1
2
4
,結果數是3。我想追加這個數字的結果結束,所以結果應該是這樣的:
1
2
4
3
這裏是我的表中的數據:執行「簡單」的SQL查詢
id name surname place
1 test1 isdad YES
2 test2 spreda YES
3 test3 me NO
4 test4 smallvile YES
我希望得到什麼,所有的ID,其中地方=「YES」。因此,IDS是
1
2
4
,結果數是3。我想追加這個數字的結果結束,所以結果應該是這樣的:
1
2
4
3
這裏幾乎肯定是更好的方法來做到這一點。這就是說,你可以這樣做:
SELECT id FROM myTable WHERE place = 'YES'
UNION ALL
SELECT COUNT(*) FROM myTable WHERE place = 'YES'
UNION ALL
將追加結果數量作爲新行,而不是試圖將其添加爲另一列。
請不要這樣做;結果會是混合的,它堅定地藐視優秀的軟件設計,並且會對後來出現的任何人感到困惑,並且必須處理這段代碼。
或'SELECT ID,1 as is_id FROM myTable where place ='YES' UNION ALL SELECT COUNT(*),0因爲is_id FROM myTable WHERE place ='YES''。我同意它很混亂 – npclaudiu 2012-03-09 14:07:59
那裏有什麼'1'和'0'值?這隻會讓結果更加令人困惑和難以理解 – eouw0o83hf 2012-03-09 14:09:03
SELECT id FROM TABLE WHERE place='YES'
將與你想要的ID返回,和行數將存儲計數,如果使用這種用PHP或C++/C#
除了與_php或C++/c#_無關。 – npclaudiu 2012-03-09 14:06:03
在MySQL中,你可以做一些類似的使用單個查詢WITH ROLLUP
:
select id, count(*)
from myTable
where place='YES'
group by id
with rollup
所以...究竟是什麼嘗試過? – 2012-03-09 13:58:24
你的意思是「他們的計數(或總數)是3」?你只是想要最後一行加上前一行的總數? – eouw0o83hf 2012-03-09 13:58:54
你的意思是說你想把count添加爲最後的記錄嗎? – Thea 2012-03-09 13:58:57