查看数组并从重复值中计算 true 或 false
我在 SQL 中有一个表,用户可以在其中多次回答(相同用户和不同用户)。我想计算有多少个真值或假值。
例如,用户 1 在我的表中有 5 行,其中 3 次为 true,2 次为 false,而用户 9 则有 10 次 true 和 1 次 false,但我不知道用户编号是多少。
我想要像
User 1 - 5x True 1x False、User 4 1x True 3x False 等输出。但我不知道哪些用户和用户列表可以增长。
I have a table in SQL, where users can answer many times (the same users and different users). I want to count how many true or false values there are.
For example, like user 1 has 5 rows in my table, 3 times true, and 2 times false and user 9 has got 10 true and 1 false like that but I would not know what user numbers.
I would like output like
User 1 - 5x True 1x False, User 4 1x True 3x False etc. But I would not know what user and the user list can grow.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
有一个使用循环的简单(不推荐)解决方案:
您将有一个数组保存每个用户的肯定答案和每个用户的总答案,然后您可以使用它来计算否定答案
推荐的解决方案是使用 group by sql 语句,该语句给出你所有的计算信息。
请参阅: http://dev.mysql.com/tech-resources/articles /wizard/page3.html
there is a simple (not recommended) solution using a loop:
you would have an array holding positive answers per user and total answers per users which you can then use to calculate negative answers
the recommended solution is to use a group by sql statement that gives you all the calculated information.
see: http://dev.mysql.com/tech-resources/articles/wizard/page3.html
对于这个问题最优雅的解决方案是实际上有两个 SQL 表;每个用户(用户 ID、用户名等)一行一行,每个投票一行,每个用户可以有多个投票。
以下示例将回显有关数据的一些信息。
The most elegant solution for this problem is to actually have two SQL tables; one with one row for each user (userID, username, etc.) and one for each vote, wich could be multiple per user.
The following example will echo some information about the data.