選択したデータから最後の行を削除するにはどうすればよいですか? データを並べ替えて並べ替える必要があります。ただし、最後の行は使用されません。多分誰かが例を知っていますか?
質問する
5878 次
4 に答える
6
あなたはこれを試すことができます
with t as (select 1 field from dual
union all
select 2 from dual)
select * from (
select count(*) over(order by field desc) cnt, t.* from t
)
where cnt != rownum
于 2012-12-14T08:24:44.543 に答える
1
あなたが似ている場合は、この問題を参照してくださいMySQL: How to select all rows from a table EXCEPT EXCEPT there and see this code there
SELECT * FROM TABLE WHERE ID != (SELECT MAX(ID) FROM TABLE)
ここで「ID != (SELECT MAX(ID) FROM TABLE)」この部分は、シリアルで最大の番号を持つ最後の行を切り取ります (このために、auto_increment になる整数フィールド (ID) を宣言する必要があります。そのフィールドはレコードの最後の行の最大値を MAX(ID) で返します)
于 2012-12-14T08:53:47.797 に答える
1
特定の行数を返すクエリがある場合、COUNT(*) OVER () を使用して、返される行数を調べることができます。最後の行を削除するには、クエリをサブクエリにプッシュし、ROWNUM でフィルター処理する必要があります ...
select ...
from (select count(*) over () total_rows,
...
from ...
where ...
order by ...)
where rownum < total_rows
于 2012-12-15T21:48:44.507 に答える
-1
このようにしてみてください
select * from table
where rowid<>(select max(rowid) from table);
また
select * from table
minus
select * from table where rownum = (select count(*) from table)
于 2012-12-14T08:23:27.973 に答える