这是我表格中的数据:
id name surname place
1 test1 isdad YES
2 test2 spreda YES
3 test3 me NO
4 test4 smallvile YES
我想得到什么,所有的地方='是'。所以Ids
1
2
4
并且结果计数为3.我想将该数字附加到结果的末尾,因此结果应如下所示:
1
2
4
3
答案 0 :(得分:2)
几乎肯定有更好的方法可以做到这一点。那就是说,你可以这样做:
SELECT id FROM myTable WHERE place = 'YES'
UNION ALL
SELECT COUNT(*) FROM myTable WHERE place = 'YES'
UNION ALL
会将结果编号附加为新行,而不是尝试将其添加为另一列。
请不要这样做;结果将是混合的,它坚定地蔑视良好的软件设计,并且对于后来出现并且必须处理这段代码的任何人都会感到困惑。
答案 1 :(得分:1)
在MySQL中,您可以使用WITH ROLLUP
:
select id, count(*)
from myTable
where place='YES'
group by id
with rollup
答案 2 :(得分:-1)
SELECT id FROM TABLE WHERE place='YES'
将返回带有你想要的ID,如果你使用php或c ++ / c#
,rowcount将存储计数