一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數(shù)據(jù)庫技術|

服務器之家 - 數(shù)據(jù)庫 - Mysql - mySql關于統(tǒng)計數(shù)量的SQL查詢操作

mySql關于統(tǒng)計數(shù)量的SQL查詢操作

2021-04-05 19:41Megamind_HL Mysql

這篇文章主要介紹了mySql關于統(tǒng)計數(shù)量的SQL查詢操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

我就廢話不多說了,大家還是直接看代碼吧~

?
1
2
3
4
5
6
7
select project_no,
sum(case when device_state=0 then 1 else 0 end)as offTotal ,
sum(case when device_state=1 then 1 else 0 end)as onlineTotal,
sum(1)total
from iot_d_device
group by project_no
order by project_no

補充:MySQL一條SQL語句查詢多條統(tǒng)計結果

商城項目難免會遇到用戶個人中心頁查詢不同狀態(tài)訂單數(shù)量的問題。當然這個問題并不難,可以寫一個DAO層方法,以狀態(tài)作為入?yún)ⅲ看蝹魅氩煌瑺顟B(tài)值依次查詢相應狀態(tài)的訂單數(shù)量。

今天在寫H5端接口時,我想換種方式查,也就是通過一條SQL查詢出多個狀態(tài)的訂單數(shù)量。在網(wǎng)上搜了搜,方法可行,所以就嘗試了下,果不其然成功了。

示例如下(數(shù)據(jù)只為演示今天的問題,表設計并不嚴謹。勿怪):

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for mini_test_order
-- ----------------------------
DROP TABLE IF EXISTS `mini_test_order`;
CREATE TABLE `mini_test_order` (
 `id` int(11) NOT NULL,
 `order_no` varchar(32) DEFAULT NULL COMMENT '訂單號',
 `user_id` int(11) DEFAULT NULL COMMENT '用戶id',
 `shop_id` int(11) DEFAULT NULL COMMENT '商家id',
 `order_status` tinyint(1) DEFAULT NULL COMMENT '訂單狀態(tài)',
 `create_time` int(10) DEFAULT NULL COMMENT '創(chuàng)建時間',
 PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of mini_test_order
-- ----------------------------
INSERT INTO `mini_test_order` VALUES ('1', 'aaaaaaaaa', '11', '111', '1', '1573041313');
INSERT INTO `mini_test_order` VALUES ('2', 'bbbbbbbb', '11', '222', '1', '1573041313');
INSERT INTO `mini_test_order` VALUES ('3', 'cccccccccc', '11', '333', '2', '1573041313');
INSERT INTO `mini_test_order` VALUES ('4', 'dddddddd', '11', '222', '3', '1573041313');
INSERT INTO `mini_test_order` VALUES ('5', 'eeeeeeeee', '11', '111', '4', '1573041313');
INSERT INTO `mini_test_order` VALUES ('6', 'ffffffffffffff', '11', '111', '3', '1573041313');
INSERT INTO `mini_test_order` VALUES ('7', 'gggggggg', '11', '222', '4', '1573041313');
INSERT INTO `mini_test_order` VALUES ('8', 'hhhhhhhhh', '11', '111', '4', '1573041313');
INSERT INTO `mini_test_order` VALUES ('9', 'iiiiiiiiiiiiiiiiiii', '11', '333', '3', '1573041313');
INSERT INTO `mini_test_order` VALUES ('10', 'jjjjjjjjjjjjjjjjjj', '11', '222', '1', '1573041313');

核心SQL語句如下:

?
1
SELECT COUNT(CASE order_status WHEN 1 THEN 1 END) AS "狀態(tài)1",COUNT(CASE order_status WHEN 2 THEN 1 END) AS "狀態(tài)2",COUNT(CASE order_status WHEN 3 THEN 1 END) AS "狀態(tài)3",COUNT(CASE order_status WHEN 4 THEN 1 END) AS "狀態(tài)4" FROM `mini_test_order`;

或如下:

?
1
SELECT COUNT(CASE WHEN order_status = 1 THEN 1 END) AS "狀態(tài)1",COUNT(CASE WHEN order_status = 2 THEN 1 END) AS "狀態(tài)2",COUNT(CASE WHEN order_status = 3 THEN 1 END) AS "狀態(tài)3",COUNT(CASE WHEN order_status = 4 THEN 1 END) AS "狀態(tài)4" FROM `mini_test_order` ;

當然,SQL語句不僅僅局限于上述兩種寫法,喜歡探究的童靴歡迎留言補充。

MySQL的case when的語法有兩種

1.簡單函數(shù)

?
1
CASE [col_name] WHEN [value1] THEN [result1]…ELSE [default] END

2.搜索函數(shù)

?
1
CASE WHEN [expr] THEN [result1]…ELSE [default] END

兩者區(qū)別

前者枚舉col_name這個字段值為符合條件value1時所有可能的值;

后者可以寫判斷,并且搜索函數(shù)只會返回第一個符合條件的值,其他case被忽略。

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持服務器之家。如有錯誤或未考慮完全的地方,望不吝賜教。

原文鏈接:https://blog.csdn.net/Megamind_HL/article/details/80512331

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产一区二区三区在线看片 | 香蕉视频在线观看网站 | 国产真实偷乱视频在线观看 | 日本videos有奶水的hd | 四虎影视在线永久免费观看 | 日本小视频网站 | 99热99re | 美女裆部 | 91亚洲专区 | 精品久久洲久久久久护士免费 | www.俺去啦 | 国产一区二区三区毛片 | 描写细腻的高h肉 | 日本免费三片在线播放 | 国产精品成人 | 精品视频久久久久 | 好男人资源免费播放 | ysl千人千色t9t9t9 | 亚洲国产成人精品无码区APP | www.亚洲5555.com | 五月婷婷丁香在线视频 | 黑人巨鞭大战白妞10级 | 男生和老师一起差差差 | 大伊香蕉在线精品不卡视频 | 丰满的闺蜜2中文字幕 | 茄子香蕉视频 | 美日韩一区二区三区 | 免费一级欧美大片在线观看 | 青青青青青国产免费手机看视频 | haodiaocao几万部精彩视频 | 2021国产精品露脸在线 | 精品久久香蕉国产线看观看麻豆 | 十大免费批日的软件 | 日本一区二区三区国产 | 日产精品卡一卡2卡三卡乱码工厂 | 成年人在线免费看 | 免费一级欧美片在线观看 | 国产精品边做边接电话在线观看 | 乖女的嫩奶水h文孕妇 | 女黑人尺寸bbb | 香蕉免费高清完整 |