MySQL中怎么利用group_distinct獲取總記錄數(shù)

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

創(chuàng)新互聯(lián)建站成立與2013年,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項目成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元宜賓做網(wǎng)站,已為上家服務(wù),為宜賓各地企業(yè)和個人服務(wù),聯(lián)系電話:18982081108

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

關(guān)于MySQL中怎么利用group_distinct獲取總記錄數(shù)問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識。

網(wǎng)站名稱:MySQL中怎么利用group_distinct獲取總記錄數(shù)
URL地址:http://muchs.cn/article40/ipggeo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供響應(yīng)式網(wǎng)站、全網(wǎng)營銷推廣、手機網(wǎng)站建設(shè)、面包屑導(dǎo)航、自適應(yīng)網(wǎng)站、外貿(mào)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

小程序開發(fā)