共有
  • 記事へのコメント48

    • 注目コメント
    • 新着コメント
    その他
    shigeaki1jp
    shigeaki1jp “MySQL”

    2024/12/12 リンク

    その他
    nekoruri
    nekoruri DISTINCT ONめちゃくちゃ人類が欲しかったやつじゃん

    2024/12/11 リンク

    その他
    sonots
    sonots 良いまとめ

    2024/12/11 リンク

    その他
    izoc
    izoc Window関数昔からあるのに知らんかったわ…サブクエリとかgroupby駆使して書いてた

    2024/12/11 リンク

    その他
    tacamula
    tacamula 業務用、決済系などはこうしたいよね。WriteヘビーだからLatestテーブルは必要性が後になりやすく、その書き込みは別トランザクションにしたいのも理解。

    2024/12/11 リンク

    その他
    snowcrush
    snowcrush こういうのがあるからPostgreSQL推奨派です

    2024/12/11 リンク

    その他
    jintrick
    jintrick "基本的にはWindow関数を使えばよく、SQL自体はChatGPTなどにDDLを覚えさせて、質問すれば教えてくれる。 PostgreSQLユーザはDISTINCT ONを覚えておくとちょっとした時に助かることがある。"

    2024/12/11 リンク

    その他
    versatile
    versatile ユーザーの数だけ table を作るのはどう?。一見アホな案だが、1000万ユーザーいるとして table が 1000万か・・・。InnoDB では最大 40 億個の table をつくれる。そこまでやるなら nosql 使え、になるか?誰かやってみない?

    2024/12/11 リンク

    その他
    strawberryhunter
    strawberryhunter 「テーブルスキャン1回で済む」使ったことが無いので知らないけど、インデックスが効かなくて全レコード読み出すってことだとすると全然解決にならない。結局、最新のIDを保持するテーブルだな。

    2024/12/11 リンク

    その他
    shimarisugi
    shimarisugi まず何より先にlatestを作って古いデータを残すためのhistory(latestのupdateの際に古いのを移動させる)を作るかなぁ。履歴の用途にもよるけど。

    2024/12/11 リンク

    その他
    nakag0711
    nakag0711 user_id, max(created_at) GROUP BY 1だと主キーのidが取れないという昔のSQLの問題が窓関数で解決。とは言えクエリプランがマトモなものになるのかビクビクしながら使っている感

    2024/12/11 リンク

    その他
    onesplat
    onesplat ◯◯ごとに(最新|最大|最小)のn件を取ってくる方法ってことね。タイトル読んで何が難しいのか意味不だったわ。

    2024/12/11 リンク

    その他
    aox
    aox そんなややこしいことをしなくても電話一本入れれば済む話では…

    2024/12/11 リンク

    その他
    bopperjp
    bopperjp 履歴テーブルの取り扱い

    2024/12/11 リンク

    その他
    HHR
    HHR historyテーブルが巨大化することを想定している時点で、RDBMS諦めてユーザ毎の最新の取得は別システムにしたいな。取得に加えてupsert の様なトランザクショナルな要件だとしたら辛い戦い。ロックとの戯れに興じる

    2024/12/11 リンク

    その他
    hagane
    hagane イミュータブルデータモデルだと必須のやつという認識(言葉しか知らない)

    2024/12/11 リンク

    その他
    xsde
    xsde インフラエンジニアから見るとむしろテーブルスキャンの方を最終手段としてほしいところ。

    2024/12/11 リンク

    その他
    Kazumi007
    Kazumi007 Postgresqlなら、DISTINCT ON

    2024/12/10 リンク

    その他
    paradoxparanoic
    paradoxparanoic historyのpkどうなってるんだ?そういうテーブル設計お父さん嫌いだな

    2024/12/10 リンク

    その他
    theatrical
    theatrical postgresqlじゃなかったmax_byでよさそう。

    2024/12/10 リンク

    その他
    razihai
    razihai work的にlatest作っちゃうのが一番よね(まぁ用途次第なのでなんともだが)

    2024/12/10 リンク

    その他
    odz
    odz 普通にfirst_valueかlast_valueじゃダメなんかな。

    2024/12/10 リンク

    その他
    mcddx30
    mcddx30 https://x.com/songmu/status/1866366671298113944

    2024/12/10 リンク

    その他
    hryord
    hryord 履歴の頻度によると思うけどlatest用の番号かフラグじゃあかんのか

    2024/12/10 リンク

    その他
    yutakaan02
    yutakaan02 oracleだとnot exists が定番だけど、PostgreSQLにはないんだっけ?

    2024/12/10 リンク

    その他
    hdampty7
    hdampty7 MySQLのバージョンが古くてWindow関数使えない場合のあの多段GROUPBY文が基本形かな。履歴を集計する(中央値や平均や偏差など)場合はテーブル作って保存するのが基本。latest_historyはその一種に思える。

    2024/12/10 リンク

    その他
    crosscrow
    crosscrow 毎回悩むやつ。ありがたや。

    2024/12/10 リンク

    その他
    dagama
    dagama user_idごとにMAX(created_at)したやつをjoinしてcreated_at=MAX(created_at)でよくない?/最終手段って書いてるけど参照頻度が多いならlatestマテビューは普通に検討していいと思う

    2024/12/10 リンク

    その他
    homaju
    homaju window関数の使い方

    2024/12/10 リンク

    その他
    NOV1975
    NOV1975 マテビューとか使わんのかな最近は。MySQLにはないんだっけ?

    2024/12/10 リンク

    その他

    注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています

    アプリのスクリーンショット
    いまの話題をアプリでチェック!
    • バナー広告なし
    • ミュート機能あり
    • ダークモード搭載
    アプリをダウンロード

    関連記事

    履歴テーブルから最新の1件を取ってくる方法 - そーだいなるらくがき帳

    例えば次のようなテーブルがあったとする。 -- PostgreSQL CREATE TABLE history ( id SERIAL PRIMARY K...

    ブックマークしたユーザー

    すべてのユーザーの
    詳細を表示します

    同じサイトの新着

    同じサイトの新着をもっと読む

    いま人気の記事

    いま人気の記事をもっと読む

    いま人気の記事 - テクノロジー

    いま人気の記事 - テクノロジーをもっと読む

    新着記事 - テクノロジー

    新着記事 - テクノロジーをもっと読む

    同時期にブックマークされた記事