SQL where子句对列进行分组然后将值

时间:2017-02-16 16:37:02

标签: mysql sql database

我想知道是否以及如何对where子句进行分组,以便我可以输入第一组列,然后输入第二组,如下所示:

... WHERE (column1a,column2a,colum3a) == (column1b,column2b,column3b)
... WHERE (column1a,column2a,colum3a) == ("value1","value2","value3")

而不是这个

... WHERE column1a = column1b AND column2a = column2b AND column3a = column3b
... WHERE column1a = "value1" AND column2a = "value2"AND column3a = "value3"

就像你可以使用“REPLACE”代替“INSERT”来做同样的事情。

我想这样做是因为我更容易以第二种形式传递它而不是解析column1b,column2b,column3b或“value1,value2,value3”

2 个答案:

答案 0 :(得分:1)

在MySQL中,您可以使用多列IN子句:

... WHERE (column1a,column2a,colum3a) in ((column1b,column2b,column3b))
... WHERE (column1a,column2a,colum3a) in (('value1','value2','value3'))

答案 1 :(得分:-1)

您不能使用 WHERE 子句按列进行分组,您可以使用 GROUP BY WHERE 子句仅过滤记录,但您无法执行此操作:

... WHERE column1a = column1b, column2a = column2b, column3a = column3b

但是这个:

... WHERE column1a = column1b AND column2a = column2b AND column3a = column3b