让我们看看我的问题:
SELECT count(*) as 'b13'
FROM `betmatches`
WHERE `user`='1' AND `mId`='2326' and `odd`='odd2'
union all
SELECT count(*) as 'b14'
FROM `betmatches`
WHERE `user`='1' AND `mId`='2328' and `odd`='odd2'
这是查询运行时的结果 array(size = 2)
0 =>
array (size=1)
'b13' => string '2' (length=1)
1 =>
array (size=1)
'b13' => string '1' (length=1)
有2个b13,但我希望有一个b13
和一个b14
来计算每个选择的数量。有什么解决方案吗?
答案 0 :(得分:0)
这样做:
SELECT (SELECT count(*)
FROM `betmatches`
WHERE `user`='1' AND `mId`='2326' and `odd`='odd2'
) as 'b13' ,
(SELECT count(*)
FROM `betmatches`
WHERE `user`='1' AND `mId`='2328' and `odd`='odd2'
) as 'b14'
答案 1 :(得分:0)
使用额外的列:
SELECT COUNT(*), label as 'b13'
FROM betmatches
WHERE user='1' AND mId='2326' and odd='odd2'
UNION ALL
SELECT COUNT(*), label as 'b14'
FROM betmatches
WHERE user='1' AND mId='2328' and odd='odd2'
MySQL结果集中的列只有一个别名,因此您当前的方法将无效。