Артицле Дирецтори
МиСКЛ Како користити збирну групу по?МиСКЛ база податакаДетаљно објашњење групе по броју у
МиСКЛ ГРОУП БИ изјава
Наредба ГРОУП БИ групише скуп резултата на основу једне или више колона.
На груписаним колонама можемо користити функције као што су ЦОУНТ, СУМ, АВГ, итд.
ГРОУП БИ синтакса
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;
Након што је увоз успешан, извршите следећу СКЛ наредбу:
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)
Затим користимо наредбу ГРОУП БИ да групишемо табелу података по имену и пребројимо колико записа свака особа има:
mysql> SELECT name, COUNT(*) FROM employee_tbl GROUP BY name; +--------+----------+ | name | COUNT(*) | +--------+----------+ | 小丽 | 1 | | 小明 | 3 | | 小王 | 2 | +--------+----------+ 3 rows in set (0.01 sec)
Користите СА РОЛЛУП
ВИТХ РОЛЛУП може извршити исту статистику (СУМ, АВГ, ЦОУНТ...) на основу груписаних статистичких података.
На пример, групишемо горњу табелу са подацима по имену, а затим рачунамо колико пута се свака особа пријављује:
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)
Запис НУЛЛ означава број пријављивања за све.
Можемо користити цоалесце да поставимо име које може да замени НУлл. цоалесце синтакса:
select coalesce(a,b,c);
Опис параметра: Ако је а==нулл, изаберите б; ако је б==нулл, изаберите ц; ако је а!=нулл, изаберите а; ако су оба абц нула, вратите нулл (бесмислено).
У следећем примеру, ако је име празно, уместо тога користимо укупно:
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)
Блог Хопе Цхен Веилианг ( https://www.chenweiliang.com/ ) дели „МиСКЛ збир групу према употреби?“ Детаљно објашњење групе по броју у МиСКЛ бази података" ће вам бити од помоћи.
Добродошли да поделите везу овог чланка:https://www.chenweiliang.com/cwl-477.html
Добродошли на Телеграм канал блога Цхен Веилианг-а да бисте добили најновија ажурирања!
📚 Овај водич садржи огромну вредност, 🌟Ово је ретка прилика, не пропустите је! ⏰⌛💨
Поделите и лајкујте ако желите!
Ваше дељење и лајкови су наша стална мотивација!