c++ - MYSQL 连接器/C++ 二叉树 - CART。我如何只能选择部分行
问题描述
我想创建一个“20 个问题的游戏”,如果玩家想到我在 DB 游戏中没有的单词,就会添加女巫玩家的答案。一般来说,数据库的外观或下一步我需要做什么查询。
我的数据库现在看起来像这样:
I have 3 tables:
- questions
- id
- question // questions witch my game will ask a player.
- words
- id
- word // words just words
- relations
- id_question
- id_word
- value // One of three values (-1,0,1)
“-1”表示我没有关于这个组合问题和单词的数据,“0”表示答案是“否”,“1”表示答案是“是”。
我的算法:
我向 DB 询问答案数量最多的问题(1 和 0)。“SELECT
id_question
, COUNT(id_question) ASanswers
FROM 关系 GROUP BY id_question ORDER BYanswers
DESC”对于来自 &1 的问题,我要求 DB 计数“1”。“SELECT
id_question
, COUNT(id_question) ASpositive
FROM 关系 WHEREvalue
= 1 GROUP BY id_question ORDER BYanswers
DESC”查找我有最多答案的问题 (&1) 并且“是”与“否”的比率最接近 0.5
询问玩家他可以选择“是”、“否”、“我不知道”三个答案之一。
(在这里我遇到了麻烦)根据答案,我想更改我的查询,但我不知道如何要求 DB 只搜索那部分单词,例如问题 2 的答案是“否“(0)。
如果我只有 1 个单词或我问了 20 次程序将结束但如果没有返回 &1。
所以,我认为我的数据库需要多一张表或几列。如果答案是我需要一张桌子,我不知道它会是什么样子。我想过用字符串将列添加到“words”表中,例如“0110110-1”,数字的位置将是问题的id,但这很难写。
我的第二个想法是为单词表中的每个问题添加一列,但在我添加问题的情况下,我需要添加下一列,这看起来不是最佳选择。
或者也许在 MySQL 中可能只选择部分行。
我希望它写清楚,因为我不擅长英语。
解决方案
推荐阅读
- wpf - 如何使用相同的 DataTemplate 并绑定到外部动态属性
- python - Python中将布尔值设置为假的最短方法,如果为真,则设置为真,如果假
- powershell - 连接到另一个域
- flutter - 颤振自定义PageRouteBuilder
- python - 如何从文件名中获取信息,并将其分成几个部分以保存在列表中
- css - CSS / PHP中单元格内的条件单元格
- c# - 在 C# ASP.NET 中在不支持 HTML 正文的电子邮件上添加 ICal
- javascript - 正则表达式提取双引号中的文本和后面的数字
- mongodb - 31 中大小为 1 的 Mongo 样本总是返回相同的记录
- java - Java:初学者问题:为什么我没有从这段代码中得到数字(1、4、9、16、25、36、49)[已解决]