SQL 统计表 b 对应表a个数,并赋值给表a的一个字段
生活随笔
收集整理的這篇文章主要介紹了
SQL 统计表 b 对应表a个数,并赋值给表a的一个字段
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
最近遇到這么個問題
- 表a : 歌單表 music_list
- 表b : 歌曲詳情表 music_detail
一個歌單對應多個歌曲詳情,但在表的設計時,沒有考慮到在 music_list 設置一個字段標記對應的 music_detail數據條數。在數據已經入庫了之后,同事修改了功能需求。通過測試發現,如果每次使用的時候才在sql中統計歌單music_list 對應的歌曲詳情music_detail 查詢時間居然高達11秒。這顯然是我們絕對不能接受的。
由于我們的數據量很大,第一次入庫花了大約6個小時。修改入庫代碼顯然也很麻煩。那么我就想能不能直接寫一個SQL語句直接統計出結果呢。
實測以下SQL可行
UPDATE music_list l SET l.music_count = (SELECT COUNT(*) FROM music_detail m WHERE l.id = m.music_list_id);總結
以上是生活随笔為你收集整理的SQL 统计表 b 对应表a个数,并赋值给表a的一个字段的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python 读写当前路径下文件错误 U
- 下一篇: Linux 统计多个文件中 某字符串出现