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
>>54
54(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ごとに違うからあとは調べなさい
>>55
55(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