gpt4 book ai didi

mysql - 选择不同的 col1、col2,如果只有一个记录将是结果,否则选择 col3

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

我想选择 value1, value2 where item = foo 如果返回的是一个单独的记录,否则我想返回所有 year 列,其中 item = foo,以便用户可以看到 value每年。

Item year value1 value2
-----------------------
foo 12 32 48
foo 13 32 50
foo 14 32 50
foo 15 33 48
foo 16 33 48
foo 17 33 48
fo3 13 38 42
fo3 14 34 44
fo4 15 36 46
fo5 16 37 48

这就是我目前选择不同列的方式,但正如您从我的问题中看出的那样,此查询对于我需要执行的操作而言不够复杂。

SELECT distinct value1, value2
FROM MyTable
WHERE item = 'foo'

根据当前表,我想要的结果是 year 的结果,其中 item = foo,因为有不止 1 个不同的结果.

例如:12 13 14 15 16 17

然而,如果我的表格如下所示,其中只有一个 disatinc value1 value2 for item = foo 我只想返回 value1 value2

Item year value1 value2
-----------------------
foo 12 32 50
foo 13 32 50
foo 14 32 50
foo 15 32 50
foo 16 32 50
foo 17 32 50
fo3 13 38 42
fo3 14 34 44
fo4 15 36 46
fo5 16 37 48

想要的结果

32 50

示例逻辑(不会按原样工作)

SELECT value1, value2
FROM MyTable
WHERE item = 'foo'
GROUP BY value1, value2 IF count = 1 ELSE
SELECT year From MyTable WHERE item = 'foo';

最佳答案

试试看:

 SELECT year,value1, value2
FROM MyTable
WHERE item = 'foo'
GROUP BY value1, value2

编辑:

 SELECT year,value1, value2, count(*)
FROM MyTable
WHERE item = 'foo'
GROUP BY value1, value2
HAVING count(*)=1

关于mysql - 选择不同的 col1、col2,如果只有一个记录将是结果,否则选择 col3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22819963/

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