SQLなら俺に訊け [無断転載禁止]©2ch.net (457レス)
上下前次1-新
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
53: デフォルトの名無しさん [] 2018/09/15(土) 19:10:17.26 ID:crViL/AR(1/3) AAS
データの持たせ方を誤ってしまって、
カラム定義
時間,val1,val2,val3・・・
ってなってるんですが、val1からvalnで最大値を取りたい場合、どのようにアプローチするのがスマートですか?
57(1): デフォルトの名無しさん [] 2018/09/15(土) 22:31:40.71 ID:crViL/AR(2/3) AAS
>>5454(1): デフォルトの名無しさん [] 2018/09/15(土) 20:19:51.77 ID:KIanXBkQ(1/2) AAS
時間がユニークじゃないどうしようもない状態なら
とりあえずコレでいけるハズ
select
max(ahox.time_),
max(ahox.max_val)
from
(
select rowid, time_, val1 as max_val from aho
union all
select rowid, time_, val2 as max_val from aho
union all
select rowid, time_, val3 as max_val from aho
...
) ahox
group by
rowid
時間がユニークならrowid(DBMSが内部的にテーブルにもたせてる行の識別値)みたいなもんは使う必要ない
使う必要があるならrowidはDBMSごとに違うからあとは調べなさい
>>5555(1): デフォルトの名無しさん [] 2018/09/15(土) 20:37:41.73 ID:KIanXBkQ(2/2) AAS
運用方法のアプローチとしては
とりあえず一回全抽出してテーブルを作り直したほうがいい
こんな感じのワークテーブルをマニュアル作業で一旦作る
id, eventno, 時刻, 項目名, 値
eventnoの部分にはとりあえずrowidつっこんどく
で、idはただのシリアル値
システムがこの形式のテーブルに落とせる運用にすれば
それからはすぐに最大値がとれるようになる
そうなるまで毎回ワークテーブル作って最大値とるようにすればいい
それまではマニュアル作業で自分でテーブルをつくりなおす
失敗したヤツがちゃんと責任もってやるようにな
お二人共、ありがとうございます。
テーブル再定義も含め、まずは54さんの手法でこの場は凌いでみます。
58: デフォルトの名無しさん [] 2018/09/15(土) 22:37:05.98 ID:crViL/AR(3/3) AAS
>>57
同一IDだた。いずれにしてもサンキューです。
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.029s