Так что я пытаюсь найти количество строк в соответствии со следующей командой:SQL WHERE ABC = п возвращает неверные данные
SELECT COUNT(DISTINCT `increment_id`)
FROM `orders`
WHERE `created_at` LIKE '%2013-07%'
AND `store_id` =1
AND `status` NOT LIKE '%canceled%'
Это возвращает число, скажем x
.
SELECT COUNT(DISTINCT `increment_id`)
FROM `orders`
WHERE `created_at` LIKE '%2013-07%'
AND `status` NOT LIKE '%canceled%'
Это также возвращает число x
, что это неправильно. В случае 1 число должно быть меньше, чем в случае 2, потому что я фильтрую больше строк.
Тип store_id
: tinyint(4)
.
Являются ли мои вопросы неправильными? Как мне заставить работать, как я хочу, чтобы он работал?
PS: Я проверил вручную, и номер ДОЛЖЕН быть низким. В данных нет ничего искаженного. Не все записи имеют store_id
= 1.
проверить данные таблицы если все 'store_id' = 1 или нет для условия' created_at' LIKE '% 2013-07%' И 'status' NOT LIKE '% cancel%' –
Как я уже сказал, я проверяю d данных. Th запрос работает, когда 'store_id = 14' или любой другой' store_id' у нас есть. Но не для '1' –
может быть во всех ваших записях' store_id' = 1 –