Я собираюсь игнорировать это GROUP BY
.
SELECT * FROM table WHERE usergroup= 0 OR 1 AND usertype=2
Что я делаю не так?
Во-первых, у вас есть проблемы с приоритетом;Ваш SQL-запрос эквивалентен:
SELECT * FROM table WHERE usergroup = 0 OR (1 AND usertype=2)
Для ясности используйте скобки:
SELECT * FROM table WHERE (usergroup = 0 OR 1) AND usertype=2
Проблема все еще в том, что логические операторы просто не работают так: 0 OR 1
- это выражение, которое оценивается как 1
.
Вы должны повторить то, с чем сравниваете:
SELECT * FROM table WHERE (usergroup = 0 OR usergroup = 1) AND usertype=2
Однако это можно сократить так:
SELECT * FROM table WHERE usergroup IN (0, 1) AND usertype=2