如何使用条件计数器获取Mysql组的数据

如何使用条件计数器获取Mysql组的数据,mysql,conditional-statements,counter,Mysql,Conditional Statements,Counter,Mysql按计数器分组(多少个条件) 大家好 我想 问题1和答案2 问题2和答案2 问题3和答案2 问题4和答案2 问题5和答案2 我想按object_id分组,并查看哪个object_id与match_number字段中的多少条件相匹配 就像结果一样 Object_id Eşleşme_sayısı 1 3 2 5 筛选表格 表sql代码 CREATE TABLE `object_answers` ( `id` i

Mysql按计数器分组(多少个条件)

大家好

我想

  • 问题1和答案2
  • 问题2和答案2
  • 问题3和答案2
  • 问题4和答案2
  • 问题5和答案2
我想按object_id分组,并查看哪个object_id与match_number字段中的多少条件相匹配

就像结果一样

Object_id   Eşleşme_sayısı
    1             3
    2             5
筛选表格

表sql代码

CREATE TABLE `object_answers` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `question_id` int(11) unsigned DEFAULT NULL,
  `object_id` int(11) unsigned DEFAULT NULL,
  `answer` int(2) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `object_answers_question_id_foreign` (`question_id`),
  KEY `object_answers_object_id_foreign` (`object_id`),
  CONSTRAINT `object_answers_object_id_foreign` FOREIGN KEY (`object_id`) REFERENCES `object` (`id`) ON DELETE CASCADE,
  CONSTRAINT `object_answers_question_id_foreign` FOREIGN KEY (`question_id`) REFERENCES `question` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=51 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;


您可以使用MySQL在数值上下文中将布尔表达式转换为
0
1
。因此,可以间接求布尔表达式的和

SELECT obejct_id,
       sum(question_id IN (1, 2, 3, 4, 5)
           AND answer = 2) "Eşleşme_sayısı"
       FROM object_answers
       GROUP BY object_id;

image=>请澄清您的具体问题或添加其他详细信息,以突出显示您所需的内容。正如目前所写的,很难准确地说出你在问什么。请参阅“如何询问”页面,以获取澄清此问题的帮助。若要发布表的内容(这在SQL问题中是一件好事),请使用
插入到
语句中,但不要使用图像。
SELECT obejct_id,
       sum(question_id IN (1, 2, 3, 4, 5)
           AND answer = 2) "Eşleşme_sayısı"
       FROM object_answers
       GROUP BY object_id;