အသုံးပြုမှုအားဖြင့် MySQL ပေါင်းစုအုပ်စု? MySQL ဒေတာဘေ့စ်တွင် ရေတွက်ခြင်းဖြင့် အုပ်စု၏ အသေးစိတ် ရှင်းလင်းချက်

က MySQL အသုံးပြုမှုအလိုက် အုပ်စုပေါင်းမလား။MySQL ဒေတာဘေ့စ်အရေအတွက်အလိုက် အုပ်စုအသေးစိတ် ရှင်းပြချက်

MySQL GROUP BY ထုတ်ပြန်ချက်

GROUP BY ထုတ်ပြန်ချက်တွင် ကော်လံတစ်ခု သို့မဟုတ် တစ်ခုထက်ပိုသော ကော်လံများအပေါ် အခြေခံ၍ သတ်မှတ်ရလဒ်ကို အုပ်စုဖွဲ့သည်။

အုပ်စုဖွဲ့ထားသောကော်လံတွင် ကျွန်ုပ်တို့သည် COUNT၊ SUM၊ AVG စသည်ဖြင့် လုပ်ဆောင်ချက်များကို အသုံးပြုနိုင်ပါသည်။

အထားအသိုအလိုက် အုပ်စုဖွဲ့ပါ။

SELECT column_name, function(column_name)
FROM table_name
WHERE column_name operator value
GROUP BY column_name;

နမူနာသရုပ်ပြ

ဤအခန်းရှိ ဥပမာသည် အောက်ပါဇယားဖွဲ့စည်းပုံနှင့် ဒေတာကို အသုံးပြုပါသည်။ ၎င်းကို အသုံးမပြုမီ၊ ကျွန်ုပ်တို့သည် အောက်ပါဒေတာကို ဒေတာဘေ့စ်ထဲသို့ တင်သွင်းနိုင်ပါသည်။

SET NAMES utf8;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
--  Table structure for `employee_tbl`
-- ----------------------------
DROP TABLE IF EXISTS `employee_tbl`;
CREATE TABLE `employee_tbl` (
  `id` int(11) NOT NULL,
  `name` char(10) NOT NULL DEFAULT '',
  `date` datetime NOT NULL,
  `singin` tinyint(4) NOT NULL DEFAULT '0' COMMENT '登录次数',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- ----------------------------
--  Records of `employee_tbl`
-- ----------------------------
BEGIN;
INSERT INTO `employee_tbl` VALUES ('1', '小明', '2016-04-22 15:25:33', '1'), ('2', '小王', '2016-04-20 15:25:47', '3'), ('3', '小丽', '2016-04-19 15:26:02', '2'), ('4', '小王', '2016-04-07 15:26:14', '4'), ('5', '小明', '2016-04-11 15:26:40', '4'), ('6', '小明', '2016-04-04 15:26:54', '2');
COMMIT;

SET FOREIGN_KEY_CHECKS = 1;

တင်သွင်းမှု အောင်မြင်ပြီးနောက်၊ အောက်ပါ SQL ကြေညာချက်ကို လုပ်ဆောင်ပါ။

mysql> set names utf8;
mysql> SELECT * FROM employee_tbl;
+----+--------+---------------------+--------+
| id | name   | date                | singin |
+----+--------+---------------------+--------+
|  1 | 小明 | 2016-04-22 15:25:33 |      1 |
|  2 | 小王 | 2016-04-20 15:25:47 |      3 |
|  3 | 小丽 | 2016-04-19 15:26:02 |      2 |
|  4 | 小王 | 2016-04-07 15:26:14 |      4 |
|  5 | 小明 | 2016-04-11 15:26:40 |      4 |
|  6 | 小明 | 2016-04-04 15:26:54 |      2 |
+----+--------+---------------------+--------+
6 rows in set (0.00 sec)

ထို့နောက် ဒေတာဇယားကို အမည်ဖြင့် အုပ်စုဖွဲ့ကာ လူတစ်ဦးစီတွင် မှတ်တမ်းမည်မျှရှိသည်ကို ရေတွက်ရန် GROUP BY ကြေညာချက်ကို အသုံးပြုပါသည်။

mysql> SELECT name, COUNT(*) FROM   employee_tbl GROUP BY name;
+--------+----------+
| name   | COUNT(*) |
+--------+----------+
| 小丽 |        1 |
| 小明 |        3 |
| 小王 |        2 |
+--------+----------+
3 rows in set (0.01 sec)

ROLLUP ဖြင့်သုံးပါ။

ROLLUP ဖြင့် တူညီသောစာရင်းအင်းများ (SUM၊ AVG၊ COUNT...) သည် အုပ်စုဖွဲ့ထားသော ကိန်းဂဏန်းများကို အခြေခံ၍ အကောင်အထည်ဖော်နိုင်သည်။

ဥပမာအားဖြင့်၊ ကျွန်ုပ်တို့သည် အထက်ဖော်ပြပါ ဒေတာဇယားကို အမည်ဖြင့် အုပ်စုဖွဲ့ပြီး တစ်ဦးစီ အကောင့်ဝင်ထားသည့် အကြိမ်အရေအတွက်ကို ရေတွက်သည်-

mysql> SELECT name, SUM(singin) as singin_count FROM  employee_tbl GROUP BY name WITH ROLLUP;
+--------+--------------+
| name   | singin_count |
+--------+--------------+
| 小丽 |            2 |
| 小明 |            7 |
| 小王 |            7 |
| NULL   |           16 |
+--------+--------------+
4 rows in set (0.00 sec)

NULL သည် လူတိုင်းအတွက် အကောင့်ဝင်ခြင်းအရေအတွက်ကို ကိုယ်စားပြုသည်။

NUll၊ coalesce syntax ကို အစားထိုးနိုင်သော အမည်တစ်ခုကို သတ်မှတ်ရန် coalesce ကို အသုံးပြုနိုင်သည်။

select coalesce(a,b,c);

ကန့်သတ်ချက်ဖော်ပြချက်- အကယ်၍ a==null၊ ရွေး b; if b==null၊ ရွေးပါ c; if a!=null၊ ရွေး a; abc သည် null ဖြစ်ပါက null (အဓိပ္ပါယ်မဲ့) ပြန်ပေးပါ။

အမည်သည် ဗလာဖြစ်ပါက အောက်ပါဥပမာတွင် ကျွန်ုပ်တို့အစား စုစုပေါင်းကို အသုံးပြုသည်-

mysql> SELECT coalesce(name, '总数'), SUM(singin) as singin_count FROM  employee_tbl GROUP BY name WITH ROLLUP;
+--------------------------+--------------+
| coalesce(name, '总数') | singin_count |
+--------------------------+--------------+
| 小丽                   |            2 |
| 小明                   |            7 |
| 小王                   |            7 |
| 总数                   |           16 |
+--------------------------+--------------+
4 rows in set (0.01 sec)

မျှော်လင့်ခြင်း Chen Weiliang ဘလော့ဂ် ( https://www.chenweiliang.com/ ) မျှဝေထားသည် "MySQL sum group ကို အသုံးပြုမှု? MySQL Database တွင် Count by Group ၏ အသေးစိတ်ရှင်းလင်းချက်သည် သင့်အတွက် အထောက်အကူဖြစ်စေပါသည်။

ဤဆောင်းပါး၏ link ကိုမျှဝေရန်ကြိုဆိုပါတယ်:https://www.chenweiliang.com/cwl-477.html

နောက်ဆုံးထွက်မွမ်းမံမှုများကို ရယူရန် Chen Weiliang ၏ တယ်လီဂရမ်ချန်နယ်မှ ကြိုဆိုပါသည်။

🔔 ချန်နယ်ထိပ်တန်းလမ်းညွှန်တွင် တန်ဖိုးရှိသော "ChatGPT အကြောင်းအရာစျေးကွက်ရှာဖွေရေး AI ကိရိယာအသုံးပြုမှုလမ်းညွှန်" ကို ပထမဆုံးရရှိသူဖြစ်လိုက်ပါ။ 🌟
📚 ဤလမ်းညွှန်တွင် တန်ဖိုးကြီးကြီးမားမားပါရှိသည်၊ 🌟ဒါက ရှားပါးအခွင့်အရေးပါ၊ လက်လွတ်မခံပါနဲ့။ ⏰⌛💨
ကြိုက်ရင် Share ပြီး Like လုပ်ပါ။
သင်၏မျှဝေခြင်းနှင့် လိုက်ခ်များသည် ကျွန်ုပ်တို့၏ စဉ်ဆက်မပြတ်လှုံ့ဆော်မှုဖြစ်သည်။

 

မှတ်ချက်များ

သင့်ရဲ့အီးမေးလ်လိပ်စာကိုထုတ်ဝေမည်မဟုတ် 用项已用用 * တံဆိပ်

အပေါ်မှလှိမ့်