0

列名を知らなくても、テーブルの 2 番目の列から最高値を取得する方法は? 単一の SQL クエリで?

取得したい値が常に 2 番目の列にある一連のテーブルを取得しましたが (これは、テーブルが常に作成される方法の一部です)、この列の名前はテーブルごとに異なります。したがって、この値を取得できる単純な SQL クエリを使用できます。何か案は?PHPと追加のクエリで列の名前を抽出できることは知っていますが、エレガントで純粋なSQLソリューションを探しています:)

4

2 に答える 2

1

面倒な手続きになります。ただし、必要に応じORDINAL_POSITIONて、テーブルの column を使用information_schema.columnsして N 番目の列名を取得できます。

SELECT column_name 
FROM information_schema.columns 
WHERE table_name = "your table name" 
AND ordinal_position = 1 --replace 1 with your N

これをチェックして。

于 2013-03-04T12:47:36.707 に答える
-1

明らかな解決策は、データ構造を変更することです。リレーショナル正規化します。
適切に設計されたデータベースでは、単純なような質問はできません。
最高値を照会できるフィールドは常に 1 つです。また、フィールド リスト内の位置はまったく問題ではありません。

データベース構造のリファクタリングの副作用として、将来発生するであろう他の何百もの問題に対する解決策が得られます。

于 2013-03-04T13:08:11.557 に答える