2016-06-07 2 views
1

Я использую запрос, как показано ниже, с оператором где и не ограничено. Я не могу получить правильную последовательность данных (без ограничения предложения она отличается и с лимитированным порядком данных - это нечто иное).Предел с оператором не работает правильно MySql

SELECT DISTINCT(id) FROM `table` WHERE (1 AND id_type!=1) ORDER BY id desc LIMIT 2 


Table Structure with sample data: 
id  id_type 
1  1 
2  1 
3  2 
4  3 
5  3 
6  3 

Любые предложения?

Expected Output : 

6 
5 

But When I remove the limit ordering is not same : 

5 
6 
4 
3 
2 

Примечание: Это всего лишь образец структуры данных. Исходная таблица содержит много полей и разных столбцов.

+1

Какой выходной сигнал вы хотите? –

+0

Акторатор хочет сказать, что порядок неправильный. Я не могу поверить, что этот предел вызывает плохой порядок. –

+0

Это вызывает, я проверяю наличие предложения вместо того, где он работал нормально. – Manish

ответ

2

Возможно, нет никаких проблем. Видеть это.

MariaDB [fbb]> SELECT * FROM `test`; 
+----+---------+ 
| id | id_type | 
+----+---------+ 
| 1 |  1 | 
| 2 |  1 | 
| 3 |  2 | 
| 4 |  3 | 
| 5 |  3 | 
| 6 |  3 | 
+----+---------+ 
6 rows in set (0.00 sec) 

MariaDB [fbb]> SELECT DISTINCT(id) FROM `test` WHERE (1 AND id_type!=1) ORDER BY id desc LIMIT 2; 
+----+ 
| id | 
+----+ 
| 6 | 
| 5 | 
+----+ 
2 rows in set (0.00 sec) 

MariaDB [fbb]> 
+0

Возможно, мне не удалось объяснить сценарий существующей схемой. В любом случае, спасибо за вашу помощь. – Manish

Смежные вопросы