2017-07-08 10 views
0

最新の7つのエントリを表示したいが、PHP/MySQLを使用して昇順に並べ替えたい。PHP/MySQLの最新エントリ昇順オーダー

$sql="SELECT date, weight, COUNT(*) AS 'count' FROM weights GROUP BY date ORDER BY date ASC"; 

注:これは私の現在のコードである私が「LIMIT 7を、」追加しようとしたが、それが唯一のエントリ1-7が表示されます(ない、私が欲しいものである、15-21と言います)。

メモ:Stack OverflowとGoogleで検索を試みましたが、コードが機能しませんでした。

+2

「LIMIT 15,7」は15 - 21 – colburton

+1

を表示します。詳しくはhttps://dev.mysql.com/doc/refman/5.7/en/select.htmlを参照してください。 '2つの引数を指定すると、最初の引数は返される最初の行のオフセットを指定し、2番目の引数は返す行の最大数を指定します。 – chris85

+0

私は最近の7つのエントリを要求します。 21。 –

答えて

0

これは、他のいくつかのスタックオーバーフロースレッドのおかげでうまくいきました。

注:私のコードは少し異なります。

これは私のコードです:

$sql="SELECT id, date, weight FROM (SELECT id, date, weight, COUNT(*) AS 'count' FROM weights GROUP BY date ORDER BY id DESC LIMIT 7) t ORDER BY id ASC"; 

参考文献:

MYSQL select last 3 rows, order by ASC

Select last 20 order by ascending - PHP/MySQL


注:私は

...の違いを知りません
t ORDER BY id ASC 

と...

tmp order by tmp.id asc 

私が動作するようになった最初のものであることを起こったので、私は、最初のものと一緒に行きました(これはしばらく時間がかかった)、それは単純に見えました。

誰かがGROUP BYとORDER BYの値が正しいかどうか分かっている場合は、コメントしてください。

また、使用するASCのバージョンを教えてください。