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