MYSQL:检查一行结果是否具有特定值

时间:2016-09-02 17:29:14

标签: mysql

我正在使用像这样的选择语句

SELECT color, form FROM userTable WHERE type = 42

得到结果

 color |   form    |
--------------------
 red   | circle    |
 blue  | rectangle |
 blue  | circle    |

但是我想只获得一行 color 中的1行,如果我的结果有一行蓝色,否则为0,而列中为1表单如果我的结果行有一个行表单。因此,从上面的例子看,结果应该是

 color  |   form   |
 -------------------
    1   |     0    | 

是否可以使用MySQL命令实现此目的?

以下是我的尝试:

SELECT IF(color='blue', 1, 0) as color, IF(form='line', 1, 0) as form
FROM userTable WHERE type = 27 GROUP BY type

但我认为这不起作用,因为有些行符合IF条件,而其他行则不然。我需要一些声明,如IF THERE EXITS A ROW WITH COLOR = 'blue'或其他。

2 个答案:

答案 0 :(得分:3)

你必须这样做:

PACKAGE_LIST="rpm-foo-bar"

Demo here

答案 1 :(得分:1)

您可以查看是否存在行'功能COUNT()的情况。

例如,

SELECT COUNT(color) FROM userTable WHERE color="blue"返回一个列和一行,这使得这个计算。

您可以使用条件和更多列对其进行扩展,以使其符合您的目的。

相关问题