我有这个声明:
SELECT COUNT(ID) AS numberVote, AWARD_ID, NOMINEE_ID, VOTER_ID, MULTI_CODE
FROM b_awards_vote
WHERE AWARD_ID = 8
GROUP BY MULTI_CODE
我的表格是这样的:
ID | AWARD_ID | NOMINEE_ID | VOTER_ID | MUTLI_CODE
1 | 8 | 3 | 1 | 4837
2 | 8 | 4 | 1 | 4837
3 | 8 | 5 | 1 | 4837
但是在 php 中返回:
$numberVote = $row['numberVote'];
此语句返回 3。这里是我想要的更多细节:
- 所有具有相同 MULTI_CODE 的条目实际上都是 1 票。
因此我想将上表中的这个示例计为 1 票。在下表中:
ID | AWARD_ID | NOMINEE_ID | VOTER_ID | MUTLI_CODE 1 | 8 | 3 | 1 | 4837 2 | 8 | 4 | 1 | 4837 3 | 8 | 5 | 1 | 4837 4 | 8 | 4 | 3 | 7480 5 | 8 | 5 | 3 | 7480
我希望此计数返回:2,因为有两个不同的 MULTI_CODE,因为有 2 个不同的投票组。
最佳答案
此查询将计算您拥有的 MUTLI_CODE
组的数量:
SELECT COUNT( distinct MULTI_CODE) AS NumOfGroups ,ID AS numberVote, AWARD_ID, NOMINEE_ID, VOTER_ID, MULTI_CODE
FROM b_awards_vote
WHERE AWARD_ID = 8
参见 SQLFiddle供引用
关于php - GROUP BY 计算不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31770207/