这里是我的表中的数据:执行“简单”的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