2017-10-26 5 views
0

AとBの順序が異なるのはなぜですか?1つの列を表示し、複数の列の結果がmysqlのソート乗算によって異なる

(1)sql1 
mysql> select postid from mytable where uid=1302754505 order by check_status asc, postid desc limit 15; 
+---------------------+ 
| postid    | 
+---------------------+ 
| 6478974144597095625 | 
| 6478973839654417609 | 
| 6477718983354512585 | 
| 6477718467958437065 | 
| 6475650432615478473 | 
| 6475650174917440713 | 
| 6475649947284174025 | 
| 6471209260337755337 | 
| 6478983597820114121 | 
+---------------------+ 
9 rows in set (0.02 sec) 

(2)sql2 
mysql> select postid, check_status from mytable where uid=1302754505 order by check_status asc, postid desc limit 15; 
+---------------------+--------------+ 
| postid    | check_status | 
+---------------------+--------------+ 
| 6478983597820114121 |   0 | 
| 6477718983354512585 |   1 | 
| 6477718467958437065 |   1 | 
| 6475650432615478473 |   1 | 
| 6475650174917440713 |   1 | 
| 6475649947284174025 |   1 | 
| 6471209260337755337 |   1 | 
| 6478974144597095625 |   5 | 
| 6478973839654417609 |   5 | 
+---------------------+--------------+ 

check_statusはsql1でソートされていませんか?なぜsql1とsql2の結果が異なるのか分かりません。

+0

どのMySqlバージョンを使用していますか? – Cataklysim

+0

@Cataklysim MySqlバージョンは5.5.9です。 –

+0

両方のクエリで 'LIMIT 15'を' LIMIT 0,15'に変更して、変更を参照できますか?参考:https://www.w3schools.com/php/php_mysql_select_limit.asp – Cataklysim

答えて

0

私たちのmysql-proxyはいくつかのSQLを修正しているので、いくつかの結果が得られます。

関連する問題