bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

mysql中怎么統計個數的簡單介紹

Mysql數據庫一個字段內多個值如何統計個數

CREATE?TABLE?person?(

網站建設公司,為您提供網站建設,網站制作,網頁設計及定制網站建設服務,專注于企業網站設計,高端網頁制作,對陽光房等多個行業擁有豐富的網站建設經驗的網站建設公司。專業網站設計,網站優化推廣哪家好,專業seo優化排名優化,H5建站,響應式網站。

name??varchar(20)

);

INSERT?INTO?person?VALUES?('a,b,c');

INSERT?INTO?person?VALUES?('a,b');

INSERT?INTO?person?VALUES?('a,c');

DELIMITER?//

DROP?FUNCTION?GetTextCount?//

/**********

--?獲取字符串中有幾個部分.

**********/

CREATE?FUNCTION?GetTextCount(pSourceText??VARCHAR(255),??pDivChar??CHAR(1))

RETURNS?TINYINT

BEGIN

--?預期結果.?

DECLARE?vResult?TINYINT;

--?當前逗號的位置.

DECLARE?vIndex?INT;

--?前一個逗號的位置.

DECLARE?vPrevIndex?INT;

--?結果的初始值.

SET?vResult?=?1;

--?查詢第一個?逗號的位置.

SET?vIndex?=?INSTR(pSourceText,?pDivChar);

IF?vIndex?=?0?THEN

--?參數中沒有逗號,直接返回.

RETURN?vResult;

END?IF;

--?初始化情況,前一個逗號不存在.

SET?vPrevIndex?=?0;

--?循環處理。

WHILE?vIndex??0?DO

--?結果遞增.

SET?vResult?=?vResult?+?1;

--?前一個逗號的位置?=?當前逗號的位置

SET?vPrevIndex?=?vIndex;

--?查詢下一個逗號的位置.

SET?vIndex?=?LOCATE(pDivChar,??pSourceText,??vPrevIndex?+?1);

END?WHILE;

--?返回結果.

RETURN?vResult;

END;

//

DROP?FUNCTION?GetTextValue?//

/**********

--?獲取字符串中具體某一個部分的數據.

**********/

CREATE?FUNCTION?GetTextValue(pSourceText??VARCHAR(255),??pDivChar??CHAR(1),?pIndex??TINYINT)

RETURNS?VARCHAR(255)?

BEGIN

--?預期結果.?

DECLARE?vResult?VARCHAR(255);

IF?pIndex?=?1?THEN

SELECT?SUBSTRING_INDEX(pSourceText,??pDivChar,??1)??INTO??vResult;

ELSE

SELECT?

REPLACE(

SUBSTRING_INDEX(pSourceText,??pDivChar,??pIndex),

CONCAT(SUBSTRING_INDEX(pSourceText,??pDivChar,??pIndex?-?1)?,?pDivChar),

'')?INTO??vResult;

END?IF;

--?返回.

RETURN?vResult;

END;

//

DELIMITER?;

SELECT

GetTextValue(t.name,?',',?MaxNum.No)?AS?`名稱`,

COUNT(*)?AS?`個數`

FROM

person?t,

(SELECT?1?No?UNION?ALL

?SELECT?2?No?UNION?ALL

?SELECT?3?No?UNION?ALL

?SELECT?4?No?UNION?ALL

?SELECT?5?No?)?MaxNum

WHERE

GetTextCount(t.name,?',')?=?MaxNum.No

GROUP?BY

GetTextValue(t.name,?',',?MaxNum.No);

+------+------+

|?名稱?|?個數?|

+------+------+

|?a????|????3?|

|?b????|????2?|

|?c????|????2?|

+------+------+

3?rows?in?set?(0.01?sec)

MySQL利用count()函數統計總數的技巧

2020-03-01

對于count的函數的使用,我們常見的一個錯誤是在括號內隨意指定一個列去統計結果集的行數。但只有指定的行確實都是有值的時候,統計的才是實際的行數,否則可能統計的結果并不是實際的行數。而對于MyISAM存儲引擎,如果某一列的值確實不可能為null時,MySQL內部就會將count()函數優化成count(*),若沒有帶where條件,此時計算速度是非常快的,因為此時沒有實際的去計算表的行數。

總結: 對于MyISAM存儲引擎,不帶where條件的count(*)是非常快的。

技巧:

利用上述MyISAM的count(* )特性,加速一些特定查詢條件的count()查詢。

如:

對于select count(* ) from tablename where id 10; 可以做如下的反轉查詢:

select (select count(* ) from tablename) - count(* ) from tablename where id 10;

因為這樣在查詢階段MySQL將子查詢當做一個常數來處理,大大減少了掃描的行數。

mysql一條sql怎么統計某個字段不同值的個數?

以時間為跨度統計不同的值,在該時間出現的次數。

語言如下:

select count(*),'列名' from tablename group by '列名'

select count(*),a_yqm from user group by a_yqm

舉例:

這里,我要查詢出1年內每個月份periods字段不同值的次數。

比如下圖中可見的2015-4月,periods為2出現了3次,3出現了1次,最關鍵的是 periods你不知道有多少種可能的值,也許這個月有1,也許沒有。

新聞標題:mysql中怎么統計個數的簡單介紹
文章路徑:http://vcdvsql.cn/article28/hpgpjp.html

成都網站建設公司_創新互聯,為您提供網站設計公司虛擬主機品牌網站設計全網營銷推廣網站策劃微信公眾號

廣告

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

h5響應式網站建設