gpt4 book ai didi

sql - 获取列表的最有效方法?

转载 作者:行者123 更新时间:2023-11-29 05:46:30 25 4
gpt4 key购买 nike

获取事物子列表的最佳方法是什么?

我有两个表:

create table A (
id int primary key
)

create table B (
id int primary key,
aid int foreign key references A( id ),
sort_key int
)

我想获得对象 A 的列表,以及子对象 B,但只有 B 的前五个。

假设 A 是人,B 是食物类型,sort_key 是一个人对该食物的喜爱程度。我如何获得每个人(或某些人)及其最喜欢的 5 种食物?

最佳答案

在前面的评论中,如果它是 INT,则不能在其中放置非数字。

假设以下数据:

a
--
id
1
2
3

b
------------------------
id aid sort_key
1 1 1
2 1 2
3 2 1
4 3 1
5 1 3
6 1 4
7 1 5
8 1 6
9 2 2
10 2 3

MySQL 中的以下查询将为您提供:

SELECT a.*,
(SELECT GROUP_CONCAT(id) AS ids FROM b AS bi WHERE bi.aid = a.id ORDER BY sort_key LIMIT 5) AS ids
FROM a

结果:

id   ids
1 1,2,5,6,7,8
2 3,9,10
3 4

关于sql - 获取列表的最有效方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1174482/

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