gpt4 book ai didi

mysql - 如何在事先不知道该值的情况下选择列中具有相同值的行?

转载 作者:行者123 更新时间:2023-11-29 03:18:16 25 4
gpt4 key购买 nike

我有一个记录表

Table records(id, docId, title)

给定一个 id,我想选择所有等于或小于 id 的行,它们共享相同的 docId。事先不知道docId。

这是一些示例数据:

insert into records (id, docId, title) values
(1, 1, 'a'),
(2, 1, 'b'),
(3, 2, 'c'),
(4, 1, 'd')

我可以通过做这样的事情来用两个选择来做到这一点......

select @docId := docId from records where id = 4;

select id, title from records where docId = @docId and id <= 4;

...导致...

[{ id: 4, title: 'd'},{id: 2, title: 'b'},{id: 1, title: 'a'}]

我想知道:是否可以在单个查询中执行此操作?

最佳答案

您可以加入两个查询:

SELECT id, title
FROM records a
JOIN records b ON a.docId = b.docId AND a.id < b.id
WHERE b.id = 4;

关于mysql - 如何在事先不知道该值的情况下选择列中具有相同值的行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50570308/

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