php - GROUP BY 计算不正确

标签 php mysql

我有这个声明:

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。这里是我想要的更多细节:

  1. 所有具有相同 MULTI_CODE 的条目实际上都是 1 票。
  2. 因此我想将上表中的这个示例计为 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
    
  3. 我希望此计数返回: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/

相关文章:

php - 脚本头过早结束 : php5 Symfony produces internal server error 500

php - 是否可以从 PHP 脚本中包含和调用 JavaScript 函数?如何?

mysql - 向mysql中插入数据

php - 测试2个mysql数据库之间的内容

mysql 使用 CASE 语句更新多行,每行都有自己的值

php - 通过在数据库表中搜索从同一列的不同行检索文本

c# - 在 MySQL 中存储 PDF 文件

java - 如何在laravel中动态使用角色和权限

php - 在 PHP 中将一种日期格式转换为另一种日期格式

php - 如何保护与远程 mysql 数据库的连接