在GROUP BY之后用数字查询

时间:2016-12-23 02:15:52

标签: sql sqlite

我有一个查询来获取这样的数据:.....

WHERE  ((column1=1 OR column1=3) AND
        (column2= 0 or column2= 4)
       ) AND (1)
GROUP BY 1,(2)

我不知道" AND(1)GROUP BY 1,(2)"有人能解释一下吗? ,谢谢

1 个答案:

答案 0 :(得分:3)

让我们稍微格式化一下这个问题,这有助于清理它:

WHERE ((column1=1 OR column1=3) 
AND (column2= 0 or column2= 4) ) 
AND (1) 
GROUP BY 1,(2)

因此AND (1)部分与AND (true)AND (1=1)相同。它总是返回true所以实际上什么都不做。

GROUP BY只是使用SELECT的列位置。所以它分组在第一列,然后是第二列。