
No.1ベストアンサー
- 回答日時:
いくつかわからない引数を取るような関数はあまりSQL的ではないですね
エクセルを意識していますか?
特定にフィールドに対してn番目のデータを取るというならSQLで処理できます。
ただしn番目というのは同順があるばあい繰り下げるのか、単純に順位付けしていいのか
など仕様をかためないと思った通りの値を得ることができません。
こんばんは!
実際には次のようなことをやろうとしています
例えばSELECT文で取ってきたある1行が、
2, 15, 7
となっていた場合、これを小さい順に並べて
2, 7, 15
のようにしようとしています
・・・なかなかうまい関数が見つかりません(x_x)
No.2
- 回答日時:
>例えばSELECT文で取ってきたある1行が、
>2, 15, 7
>となっていた場合、これを小さい順に並べて
うーん、一レコードに別フィールドで2,15,7のようなデータの持ち方は
SQLではあまりおこないません。
すこし正規化について学習するとよいかもしれません。
こんかいの令だとたとえばID=xxxにたいして
ID NUM
xxx | 2
xxx | 15
xxx | 7
yyy | 10
yyy | 12
・・・
みたいなデータの持ち方をすれば、GROUP_CONCATなどでソートして表示することができます
こんばんは!
うまい関数は見つかりませんでしたが、入れ子にしたIF()でLEAST()とGREATEST()を使って2番目に小さい値を取ることができました。
私のケースの場合、列は3個と決まっているので、これを逆手に取って、2重のIF()で実現できました。
IF(
col1 = LEAST(col1, col2, col3),
LEAST(col2, col3),
IF(col1 = GREATEST(col1, col2, col3), GREATEST(col2, col3), col1)
)
煩雑な式ですが、ひとまず動きました・・・
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SQLローダーCSV取込で、囲み文...
-
SELECTした合計値をそのまま割...
-
CSVからNULL値をインポート
-
BLOBやCLOBのパフォーマンスを...
-
固定長データのテキストファイ...
-
Null値件数をカウントする式に...
-
最大値が抽出できない!
-
SELECT FOR UPDATE で該当レコ...
-
SQL*Loader Append
-
レコードの登録順がおかしい
-
where句中のtrim関数について
-
Oracleで「文字が無効です」の...
-
select文の実行結果に空白行を...
-
ACCESS レコードの並び順について
-
ファイルの漢数字の順番につい...
-
VB6のオラクルのバインド変数
-
count関数の値をwhere句で使用...
-
単一グループのグループ関数で...
-
ソート(PL/SQL)
-
データ
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SQLローダーCSV取込で、囲み文...
-
テーブルの最後(最新)のレコー...
-
BLOBやCLOBのパフォーマンスを...
-
int型フィールドにnullを登録で...
-
ACCESSのクエリで空白以降を別...
-
ファイルメーカー10で重複デー...
-
テーブルのフィールドの一番長...
-
2回実行のSQL文を1回にしたい
-
Null値件数をカウントする式に...
-
タイムスタンプ型を抽出条件に...
-
配列に指定した値が含まれてい...
-
固定長データのテキストファイ...
-
SELECTした合計値をそのまま割...
-
入力データの半角スペースと全...
-
CSVからNULL値をインポート
-
【MySQL】 DECIMAL(2,1) に 13...
-
ファイルメーカーのフィールド...
-
MySQLでの近似値順での値の取得...
-
最初のレコードを取得したい
-
DateTime型の検索
おすすめ情報