Mysql查询计算整个表中有多少个“1”或“2”?

Posted

技术标签:

【中文标题】Mysql查询计算整个表中有多少个“1”或“2”?【英文标题】:Mysql query to count how many "1" or "2"s in the whole table? 【发布时间】:2016-03-15 08:31:35 【问题描述】:

我有一个 phpmyadmin 控制台运行一个投票数据库,用户在其中投票给 person1 或 person2。然后将条目放入带有 userID 和choiceID 的表中。 user 列是自动递增的,choiceID 是 1 或 2,具体取决于他们投票的内容。这对我来说是全新的,我很惊讶我能做到这一点。任何人都可以解释如何进行查询,计算在任何给定时间我的整个表中有多少个 1,s 和多少个 2,s ?那将是非常棒的。

【问题讨论】:

【参考方案1】:

这里是 SQL 命令。您只需替换表名即可。

SELECT COUNT(*), choiceID FROM tablename GROUP BY choiceID;

【讨论】:

那么我会把它放在当前的php文件中还是???还是我会把它放在一个在 html 网站上运行的新文件中?【参考方案2】:

您可以在查询中使用“CASE WHEN”子句:

选择 总和(当choiceID = 1 THEN 1 ELSE 0 END 时的情况)作为choice_1, 总和(当choiceID = 2 THEN 1 ELSE 0 END 时的情况)作为choice_2 从 ... 在哪里...

【讨论】:

那么我会把它放在当前的php文件中还是???还是我会把它放在一个在 html 网站上运行的新文件中?【参考方案3】:

select count(*) from -tablename- wherechoiceID = '1'

或'2'...取决于你想要什么:P

【讨论】:

那么我会把它放在当前的php文件中还是???还是我会把它放在一个在 html 网站上运行的新文件中? 在不知道您的项目结构的情况下很难回答,例如您目前如何填充数据库?【参考方案4】:
SELECT choiceID, COUNT(userID) as number_of_votes FROM votes GROUP BY choiceID ORDER BY number_of_votes

给定一组这样的数据:

将导致:

【讨论】:

那么我会把它放在当前的php文件中还是???还是我会把它放在一个在 html 网站上运行的新文件中? 您在 PHP 文件中查询数据库。我将更新我的答案,以便您了解如何按票数排序。 我会将您标记为答案,但我会将其放入 php 脚本中。那么它是如何到达 html 的呢?我只是在 php 文件中引用 $result 吗? 我猜这是另一个问题。请打开一个新问题并向我们展示您到目前为止所做的工作,并告诉我们您希望如何呈现数据。

以上是关于Mysql查询计算整个表中有多少个“1”或“2”?的主要内容,如果未能解决你的问题,请参考以下文章

mysql中,怎样查询一个表中有多少记录!

mysql中,怎样查询一个表中有多少记录!

在一个查询 MYSQL 上从 2 个不同的表中计算 2 个不同的东西

MySQL查询与结构

MySQL - 如何在一个查询中计算每个表的所有行

MS Access 使用表字段作为查询条件