中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MySQL中怎么利用group_distinct獲取總記錄數

發布時間:2021-07-26 11:12:04 來源:億速云 閱讀:133 作者:Leah 欄目:數據庫

MySQL中怎么利用group_distinct獲取總記錄數,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

 
MySQL_使用group_distinct后_如何得到總記錄數(行數)
 
問題: 使用了group或者distinct等后,如何得到查詢結果的總記錄數? --要求,不使用子查詢
 
分析:
如果沒有group,count(*) 就可以了。
但是,使用了就不同了。里使用統計函數,針對的是group。
這個時候,如何得到查詢結果記錄總數,是個問題。
 
可行性分析:
這個問題有解么?如果不可能的事情,就別搞了,例如永動機,3等分等問題。
在的終端查詢結果:
 
mysql> select tag_id from labels where 1 = 1 group by tag_id;
+--------+
| tag_id |
+--------+
|      0 |
|      1 |
|      2 |
|      3 |
|      4 |
|      6 |
|      9 |
|     11 |
|     22 |
|     54 |
+--------+
10 rows in set (0.00 sec)
最后居然有個數:10 rows
既然終端都有了,那應該有個地方存儲。(推測mysql不會自己去再查一次,因為自己就握有結果)
 
解決方案: 使用found_rows函數
 
mysql> select found_rows();
+--------------+
| found_rows() |
+--------------+
|           10 |
+--------------+
1 row in set (0.00 sec)
 
 
可能問題:
在多線程的情況下,會有問題么。
Java中,多個線程共同持有一個connection時,會發生問題。
t1查詢select tag_id from labels where 1 = 1 group by tag_id;
t2查詢別的
t1查詢select found_rows();
這樣得到的是t2的查詢結果。
 
在Hibernate等線程池的情況下,每個線程會一直持有當前的connection直到線程結束。
這樣的話,每個線程的connection是不同的,不會發生沖突。
但必須保證兩個語句之間別有別的查詢sql執行。
 
其他:
ROW_COUNT()可以查看上次update操作影響的行數。
 
 
====END====

關于MySQL中怎么利用group_distinct獲取總記錄數問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

广汉市| 临夏市| 泰宁县| 武乡县| 安阳县| 惠州市| 南京市| 白河县| 怀远县| 通许县| 马边| 梅河口市| 德阳市| 浪卡子县| 故城县| 溧阳市| 大田县| 莱州市| 阳西县| 奉节县| 衡山县| 晋江市| 肥城市| 上饶市| 安阳县| 寿阳县| 平塘县| 成武县| 山东| 梁河县| 黎川县| 淳安县| 伽师县| 普定县| 辽阳市| 宣化县| 华蓥市| 娄烦县| 恩平市| 石阡县| 天气|