2010-11-30 7 views
1

どうすればmysql(最新のidなど)から最新の5行を選択して、ascまたはdescを注文できますか?Mysql最初に選択してから制限する

問題は私が1,2,3,4,5,6,7持っている、私は最近の2を選択したい(6,7)その後、それらをascまたはdesc(6,7,7、 6)、しかし、私はorderbyを使用する場合、それは(1,2)または(7,6)になる制限は、とにかく1つのSQLステートメントからそれを行うにはありますか?

はあなたに感謝

答えて

0
Select * from TABLE order by id asc , time_stamp desc 
1

あなたが使用することのようなもの、あなたが望んでいた場合、私は取得できませんでした

SELECT * 
FROM TABLE 
WHERE (TABLE.primary_key IN (
    SELECT TABLE.primary_key 
    FROM  TABLE 
    ORDER BY TABLE.id ASC 
    LIMIT 2 
)) 
ORDER BY TABLE.id DESC 
-1

最新の5か2、私はここで2を使用します。しかし、ここに私がテストなしで書いたものがあります。

SELECT * FROM table WHERE id IN (SELECT id FROM table ORDER BY id DESC LIMIT 2) ORDER BY id ASC/DESC;

希望すると、これが役に立ちます。 :)私は解決策を見つけた

0

ような何かを行うことができないのはなぜ

SELECT * FROM TABLE WHERE ID IN (SELECT ID FROM TABLE WHERE X ORDER BY ID LIMIT 2) ORDER BY ID DESC 
0

OK]をクリックして、あなたの努力と回答あ​​りがとうございました

は私だけのid ASC順のようにそれを作った、2列、ID及び(タイムスタンプ用)TSTAMPを作った、TSTAMPのASC/desc ... xを制限するので、常にidによって命令され、tstampによって順序付けされ、正しいことが制限されます。

とネストされたクエリは、エンジンのための痛みです...

おかげ

関連する問題