首页 > 解决方案 > 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”表示答案是“是”。

我的算法:

  1. 我向 DB 询问答案数量最多的问题(1 和 0)。“SELECT id_question, COUNT(id_question) AS answersFROM 关系 GROUP BY id_question ORDER BY answersDESC”

  2. 对于来自 &1 的问题,我要求 DB 计数“1”。“SELECT id_question, COUNT(id_question) AS positiveFROM 关系 WHERE value= 1 GROUP BY id_question ORDER BY answersDESC”

  3. 查找我有最多答案的问题 (&1) 并且“是”与“否”的比率最接近 0.5

  4. 询问玩家他可以选择“是”、“否”、“我不知道”三个答案之一。

  5. (在这里我遇到了麻烦)根据答案,我想更改我的查询,但我不知道如何要求 DB 只搜索那部分单词,例如问题 2 的答案是“否“(0)。

  6. 如果我只有 1 个单词或我问了 20 次程序将结束但如果没有返回 &1。

所以,我认为我的数据库需要多一张表或几列。如果答案是我需要一张桌子,我不知道它会是什么样子。我想过用字符串将列添加到“words”表中,例如“0110110-1”,数字的位置将是问题的id,但这很难写。

我的第二个想法是为单词表中的每个问题添加一列,但在我添加问题的情况下,我需要添加下一列,这看起来不是最佳选择。

或者也许在 MySQL 中可能只选择部分行。

我希望它写清楚,因为我不擅长英语。

标签: c++mysql

解决方案


推荐阅读