gpt4 book ai didi

mysql - 选择一列的字段多个索引

转载 作者:行者123 更新时间:2023-11-29 01:37:39 25 4
gpt4 key购买 nike

我有这张 table

recept_id raavare_id nom_netto tolerance
1 1 10 0.1
1 2 2 0.1
1 5 2 0.1
2 1 10 0.1
2 3 2 0.l
2 5 1.5 0.1
2 6 1.5 0.1
3 1 10 0.1
3 4 1.5 0.1
3 5 1.5 0.1
3 6 1 0.1
3 7 1 0.1

我正在尝试选择 raavare_id 等于 6 和 7 的行。所以我正在尝试选择 recept_id 等于 的行>3.

试过了,但显然它不起作用,因为您无法选择具有 2 个值的字段:
SELECT * FROM table_name WHERE raavare_id="6"AND raavare_id="7"

这也不起作用,因为它会选择其他行,例如 recept_id=2 因为它有一个 raavare_id=6,但我想选择行( s) 其中 raavare_id 等于 6 和 7 并且具有相同的 recept_id:
SELECT * FROM table_name WHERE raavare_id="6"OR raavare_id="7"

编辑:

忘记提及我不允许在 sql 查询中使用 recept_id。我需要选择 raavare_id 为 6 和 7 且两者具有相同 recept_id 的行。但是 recept_id 不能在查询中。

最佳答案

试试这个:

SELECT * 
FROM table_name
WHERE recept_id IN (
SELECT recept_id
FROM table_name
WHERE raavare_id IN (6,7)
GROUP BY raavare_id
HAVING COUNT(DISTINCT raavare_id) = 2)

IN 运算符使用的子查询返回 recept_id =3 因为这是属于一组 raavare_id 的 id 值 < em>both (6, 7) 值。

编辑:

如果你只想获取recept_id值,那么只需要使用子查询:

SELECT recept_id
FROM table_name
WHERE raavare_id IN (6,7)
GROUP BY raavare_id
HAVING COUNT(DISTINCT raavare_id) = 2

关于mysql - 选择一列的字段多个索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35742851/

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