2009-05-12 11 views
1

この質問はありましたが、答えが出てこなかった。SQLを使用してテーブルの最初の列と最初の行を検索する方法

テーブルの最初の行と最初の列にエントリを見つける方法はありますか?単語のカップルで

(行列表記では、それは[1,1]th場所であろう)

+0

入力タブ名に動的SQL文が必要ですか? –

+0

もし私が列名を知っていないかどうか尋ねようとしているのですが、その場合は可能です。 – Arc

答えて

2

thge質問の「最初の行」の部分に関連する良いフィードバックがたくさんありました。しかし、これまで「最初の列は」行くように、あなたは、次のいずれかのオプションを試すことができます。

  1. あなたは表の最初の列を取得するには、データベースのデータ・ディクショナリを使用することができます。オラクルでは、例えばクエリは次のようになります。

    select column_name 
    from user_tab_columns 
    where table_name='YOUR_TABLE_NAME' 
    and column_id=1 
    
  2. あなたはJDBCまたはいくつかの他のデータベースアクセスAPIを使用している場合は、これらのAPIのほとんどは、あなたが"select *"を行うには、その後、あなたが最初の列を得ることができることが可能になりますあなたのゼロ(または最初の)要素にアクセスして結果セットを取得します。

+0

最初の行、最初の列のデータを挿入する方法は? –

8

:リレーショナルテーブルが行列ありません。

リレーショナルワールドでは、1'st rowは、データセットに何らかの注文を定義した場合にのみ意味があります。 「暗黙のうちに最初に記録する」というようなことはありません。

あなたが最初の列の値にあなたの行を注文すると仮定すると、それはこのです:

SELECT column1 
FROM table 
ORDER BY 
     column1 
LIMIT 1 

はまた、テーブル内の別の列が異なるdomainsに属していることに注意してください。

domainsの間にあるテーブルは、relationを定義することがポイントです。そのため、すべてが「リレーショナルデータベース」と呼ばれ、テーブル自体が「リレーション」と呼ばれることがあります。

また、列の順序は、リレーショナル表で特別な意味を持ちません。

あなたは常に名前で列を参照していると仮定します。

列の順序を置換するとクエリの結果に影響する場合は、設計が不良とみなされます。

SELECT *ORDER BY 1のようなものがありますが、一般的には避けてください。

0
Select top 1 Column1 
From MyTable 
Order by Column1 
1

概念的には、SQLテーブルは順序付けられていません。 「最初の行」という概念が意味を持たせるためには、注文する列を指定する必要があります。

DBMSがLIMITをサポートしている場合は、これは簡単です。

SELECT * FROM table ORDER BY column LIMIT 1 

そうでなければ、あなたがTOPを使用することができますが、列でのご注文は、最上位の項目について重複する値を持っている場合、あなたはMS-SQLには、お使いのDBMSに応じて、(を求めるよりも、より多くの行を取得する可能性があります、それは勝ちましたWITH TIESを指定しないかぎり、これを行いません)。

SELECT TOP 1 * FROM Table ORDER BY column 
1

リレーショナル表には行順序が定義されていないため、最初の行はありません。あなたのデータベースと同等のものを使用して、クエリから最初の結果を確かに選択することができます。

ISAM型テーブルを使用する一部のデータベースは、順序付きカーソルなしでクエリを実行すると一貫した行順序を返すように見えますが、削除と挿入によって簡単に変更できます。

0

テーブルに入力された最初のレコードを検索する場合は、テーブル作成時にDateEnteredフィールドを設定する必要があります。次に、最も早い日付のデータを検索して最初のレコードを検索します。あなたがIDフィールドを持っている場合は、IDフィールドを注文することは、以前のレコードを取得する方法ですが、本当にID 1を作成したトランザクションがID 2を生成したトランザクションよりも前にテーブルに挿入されていることを実際に保証することはできません。最初に開始し、最初に終了しません。本当に確実にするには、日付フィールドを使用することが唯一の方法です。長年にわたり、私はこれらのことを設計することを学びました。最初に保管しなかった情報は後で照会することはできません。

関連する問題