色偷偷91综合久久噜噜-色偷偷成人-色偷偷尼玛图亚洲综合-色偷偷人人澡久久天天-国内精品视频一区-国内精品视频一区二区三区

Hello! 歡迎來到小浪云!


如何用單條 SQL 語句合并大量類似的重復(fù)查詢?


avatar
小浪云 2024-11-11 216

如何用單條 SQL 語句合并大量類似的重復(fù)查詢?

通過單條 sql 語句實現(xiàn)大量重復(fù)查詢

數(shù)據(jù)庫中,當(dāng)需要重復(fù)執(zhí)行大量幾乎相同的查詢時,使用單獨的查詢語句會造成效率低下。本文將介紹如何使用單條 sql 語句合并多個類似的查詢。

問題:根據(jù)給定示例,共有 24 條類似的 sql 語句,每條語句都針對不同的 mark 值執(zhí)行相同的查詢,從 t_search 表中按 title 分組并按計數(shù)降序排序。

解決方案:

方法 1(適用于 mysql 8.0 及更高版本):

with ranked_data as (     select *,            count(*) over (partition by title, mark) as count,            row_number() over (partition by mark order by count(*) desc) as row_num     from t_search     where mark between 'a' and 'z'     group by title, mark ) select * from ranked_data where row_num <= 20 order by mark, count desc;
登錄后復(fù)制

方法 2(適用于較低版本的 mysql):

SELECT *  FROM (     SELECT *,            @rank := IF(@prev_mark = mark, @rank + 1, 1) AS rank,            @prev_mark := mark,            COUNT(*) AS count     FROM t_search     JOIN (SELECT @rank := 0, @prev_mark := '') AS vars     WHERE mark BETWEEN 'a' AND 'z'     GROUP BY title, mark     ORDER BY mark, count DESC ) AS ranked_data WHERE rank <= 20 ORDER BY mark, count DESC;
登錄后復(fù)制

通過使用這些方法,您可以使用更簡潔、更高效的單條 sql 語句合并這些重復(fù)的查詢,從而提高數(shù)據(jù)庫查詢性能。

相關(guān)閱讀

主站蜘蛛池模板: 97热久久免费频精品99国产成人 | 欧美xxxx做受性欧美88 | 制服中文字幕 | 国产精品一二三 | 亚洲欧美一级久久精品 | 三级在线免费看 | 色综合天天网 | 四虎在线网址 | 狠狠色丁香 | 狠狠色丁香婷婷综合欧美 | 特级www| 久久久久久麻豆 | 国产亚洲一区二区三区啪 | 嫩草成人国产精品 | 久久综合网久久综合 | 美女中文字幕 | 亚洲 欧美 国产 制服 动漫 | 日本成人app| 国产成人亚洲综合网站不卡 | 女人毛片 | 国产成人精品视频一区 | 国内精品免费久久影院 | 五月婷婷六月丁香综合 | 国产片欧美片亚洲片久久综合 | 天天操天天透 | 亚洲午夜国产精品 | 毛片一级在线观看 | 日日摸夜夜摸狠狠摸日日碰夜夜做 | 一级黄色录像免费看 | 九色综合久久综合欧美97 | 伊人网欧美| 日韩一区二区三区视频 | 天天摸天天操天天爽 | 人人插人人搞 | 色爱综合区 | www777色| 色综合a | 欧美日韩视频精品一区二区 | 黄网站色网址 | 精品久久久久久无码中文字幕 | 国产三级观看 |