91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

达孜县| 南岸区| 陇南市| 宿州市| 玉溪市| 潢川县| 永泰县| 乐清市| 洪泽县| 西盟| 墨竹工卡县| 仁布县| 元氏县| 城口县| 黑山县| 佛冈县| 横山县| 芷江| 武义县| 京山县| 正安县| 望谟县| 云林县| 古交市| 抚顺县| 突泉县| 海兴县| 阜新市| 金昌市| 慈溪市| 阳曲县| 神木县| 五莲县| 永嘉县| 大姚县| 田东县| 台前县| 徐水县| 兴业县| 元朗区| 荆门市|