gpt4 book ai didi

mysql - 如何获取mysql中重复行的数量

转载 作者:行者123 更新时间:2023-11-29 07:59:35 25 4
gpt4 key购买 nike

Mysql 表“DemoTable”(id -> 自动递增)

id   subject_id  subject_name  question  exams
1 3 sub3 ques1 e1,e4
2 3 sub3 ques2 e1
3 2 sub2 ques3 e1
4 2 sub2 ques4 e3,e5

我想要的是使用此 where 子句跟踪输出 - where 检查如 '%e1%'

subject_id  subject_name  number_of_questions
3 sub3 2
2 sub2 1

目前,我正在使用两个单独的查询 -

获取主题名称列表 -

Select Distinct subject_id, subject_name from DemoTable where exams like '%e1%'

获取每个主题的问题数量 -

SELECT COUNT(*) as `num` FROM DemoTable where subject_id=$subject_id

但是对于我的工作,我需要一个查询来完成这两项工作,正如我上面提到的。如何做到这一点?

编辑 - 1. 正如“juergen d”在他的回答中提到的 -

SELECT subject_id, subject_name, COUNT(distinct question) as questions_count 
FROM DemoTable
where find_in_set('e1', exams) > 0
group by subject_id, subject_name

在此查询中 find_in_set('e1', exams) > 0 有效,但仅适用于 exams='e1' 而不是 exams like '%e1% '这是我的情况。

有什么方法可以在 find_in_set 中使用 like 吗?

谢谢。问候,

最佳答案

SELECT subject_id, subject_name, COUNT(distinct question) as questions_count 
FROM DemoTable
where find_in_set('e1', exams) > 0
group by subject_id, subject_name

关于mysql - 如何获取mysql中重复行的数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24205594/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com