gpt4 book ai didi

mysql - 从多个项目中选择最小/最大

转载 作者:行者123 更新时间:2023-11-29 08:37:53 27 4
gpt4 key购买 nike

我会尝试尽可能简单地解释它:

首先是一些带有虚拟数据的数据库结构。

结构

tb_spec_fk

feature     value
-----------------
1 1
1 2
1 3
1 4
1 5
2 2
2 3
3 1
3 4
4 2
4 3
4 4
5 1
5 3
5 5
6 3
6 5

tb_spec_feature

feature_id  filter
------------------
1 2
2 2
3 2
4 2
5 1
6 0

tb_spec_value

value_id    name
----------------
1 10
2 20
3 30
4 40
5 50

现在,我想要的是以下结果

结果

feature_id  min_value   max_value
---------------------------------
1 10 50
2 20 30
3 10 40
4 20 40

但是如何呢?

逻辑

从 tb_spec_feature 中获取,其中“filter”等于 2 tb_spec_value 表中存在的最高值和最低值,并通过 tb_spec_fk 表连接在一起。

我的尝试

很多!但我会饶你一命:)

最佳答案

SELECT
f.feature_id AS feature_id,
MAX(value.name) AS max_value,
MIN(value.name) AS min_value
FROM tb_spec_feature AS f
JOIN tb_spec_fk AS fk ON f.feature_id=fk.feature
JOIN tb_spec_value AS value ON fk.value=value.id
WHERE f.filter=2
GROUP BY f.feature_id

两个 JOIN 语句将特征“链接”到值。 GROUP BY 对具有相同功能 ID 的所有行进行分组,然后您可以在这些列上采用最小值或最大值或任何其他聚合函数。

Demo

关于mysql - 从多个项目中选择最小/最大,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14715102/

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