【发布时间】:2023-03-02 21:31:01
【问题描述】:
提前道歉,我是 (My)SQL 的新手——这对于专业的 DBA 来说应该是一个简单的问题——但我什至不知道从哪里开始寻找解决方案。我什至不确定我是否以下面的正确方式应用了 LEFT JOIN。
我的(DB)结构很简单:
我有testsuites,并且有几个testcases 链接到每个testsuite(“逻辑实体”)
在测试用例启动期间,我为testsuiteinstance 表中的每个testsuite 创建一个条目,并在testcaseinstance 中为每个testcase 创建一个条目。
我的目标是获取属于某个testsuite的所有testcases中的最后10个testcaseinstances
这是我用来获取 all testcaseinstances:
SELECT * FROM testcaseinstance AS tcinst
LEFT JOIN testsuiteinstance tsinst ON tsinst.id=tcinst.testsuiteinstance_id
LEFT JOIN testsuite ts ON ts.id=tsinst.testsuite_id
WHERE ts.id = 349 ORDER BY tcinst.id DESC;
所以,假设我在 testsuite 中有两个 testcases,并且两个 testcase 都被执行了 100 次。这个查询给了我 200 行。如果我把“LIMIT 10”放在最后,我只会得到一个testcase类型的最后10行,但我想要20行(最后10-10属于两个testcases)
我会感谢解决方案查询旁边的一些描述或指向“教程”的指针,我可以开始查看与该主题相关的内容(无论是什么:D)
提前致谢!
【问题讨论】: