gpt4 book ai didi

mysql - sql - 如何使用 module=5 获取类(class)

转载 作者:行者123 更新时间:2023-11-29 02:17:05 24 4
gpt4 key购买 nike

我正在尝试获取所有只有“module=5”的类(class),任何不同的类(class)。正如您在下面看到的,我有 4 门类(class),例如类(class) 2、3、4、5。但是其中只有两门类(class)只有“模块 = 5”,例如类(class) 2、5。

+----+--------+--------+
| id | course | module |
+----+--------+--------+
| 1 | 2 | 5 |
| 2 | 3 | 5 |
| 3 | 3 | 11 |
| 4 | 4 | 5 |
| 5 | 4 | 3 |
| 6 | 5 | 5 |
| 7 | 4 | 6 |
| 8 | 4 | 5 |
+----+--------+--------+

我试过做两个查询,第一个我返回所有模块=5的类(class),第二个我返回所有模块!=5的类(class),然后我保存在2个文件中并执行unix命令diff查看两个文件之间的差异。

  1. 将所有包含 module=5 的类(class)保存在一个文件中:

    SELECT DISTINCT fullname 
    FROM mdl_course
    LEFT JOIN mdl_course_modules
    ON mdl_course.id=mdl_course_modules.course
    WHERE mdl_course_modules.module=5
    into outfile '/tmp/forum';
  2. 在文件中保存所有有模块的类(class)!=5:

    SELECT DISTINCT fullname 
    FROM mdl_course
    LEFT JOIN mdl_course_modules
    ON mdl_course.id=mdl_course_modules.course
    WHERE mdl_course_modules.module!=5
    into outfile '/tmp/plus_forum';
  3. 然后,执行差异:

    $ diff forum plus_forum

但我想在一个查询中返回所有只有 module=5 的类(class)。可能吗?

最佳答案

为简单起见,我们只需解决 mdl_course_modules

  SELECT course
FROM mdl_course_modules
GROUP BY course
HAVING SUM(module <> 5) = 0
AND SUM(module = 5) = 1 -- or >= 1

关于mysql - sql - 如何使用 module=5 获取类(class),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37884574/

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