2011-08-11 14 views
0

mysql_queryの開始アートをデータベース内の特定の行にすることが可能かどうかを知りたい。私が代わりにROW1PHP MYSQL行から返す

+0

[最初の行を除外]する必要があります(http://stackoverflow.com/questions/7016863/how-to-exclude-first-row-in-sql-server-2005-express/7016897#7016897) ? – Jacob

+0

参照してください:http://stackoverflow.com/questions/1492297/how-to-get-all-rows-starting-from-row-x-in-mysql – ngen

答えて

4

の行2から開始したい

はレコードが返さmaxの非常に大きな数(あなたの行数より大きい)で、LIMIT句を使用してください。通常、LIMITはレコードのブロックを選択するために使用され、オプションでオフセットで始まる場合もあります。あなたのケースでは、オフセットの後にすべてのレコードが必要なので、高い最大数でそれを偽造する必要があります。あなたの最初のレコードが低い第2行よりID列を持っている場合、それは実際には、一方LIMIT 1, 99999

SELECT * FROM table ORDER BY id ASC LIMIT 1, 99999999999 

する必要がありますように、その、0で

UPDATE Iちょうどread the docsLIMITオフセットを開始

SELECT * FROM table WHERE id < 1; 
+0

'ORDER BY'節を追加する必要があります。 – Jacob

+0

@cularis追加されました。 –

+0

2行目がtrueを返すが、それがクエリの最初の戻り値なので、2で限界値を開始しても表示されないでしょうか? 2番目の結果は実際に最初のものが表示されませんでしたか? – ngen

0

何をしようとしているかによって異なります。あなたは、彼は、DB特定の行int型から開始することはできませんが、結果セット内の特定の行で開始することができます:あなたが明示的に何らかの理由で行をスキップする必要がある場合の

SELECT * FROM tbl_name LIMIT 2, 10000; 

$skip = true; 
while ($row = mysqli_fetch_assoc($res)) 
{ 
    if ($skip) 
    { 
     $skip = false; 
     continue; 
    } 

あなたの正確な問題に応じて、さまざまなソリューションがあります。

0

offset - を使用すると、特定の数の行をスキップできます。 e。

SELECT * FROM table LIMIT 10, 10 

これは最初の10行をスキップし、MySQLの行は任意のデフォルトの順序を持​​っていないようにリレーショナルデータベースでは、次の10

2

を取得します。真剣に。 SELECT * FROM table連続したクエリが挿入順で結果をソートするように見える場合でも

ただし、特定のクエリの行を並べ替えるには、ORDER BY句を使用できます。

さらに、LIMIT句を使用すると、さらにフィルタリングすることができます。

関連する問題