当前位置: 代码迷 >> 其他数据库 >> 一个使用sql语句累加有关问题
  详细解决方案

一个使用sql语句累加有关问题

热度:3476   发布时间:2013-02-26 00:00:00.0
一个使用sql语句累加问题
如题:
在sbgz_sbgzdj表中有个字段sbdm_id,

DROP TABLE IF EXISTS `sbgz_sbgzdj`;
CREATE TABLE `sbgz_sbgzdj` (
  `CODE` varchar(20) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
  `SBDM_ID` varchar(20) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
  `GZLB_ID` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL,
  `GZFSRQ` date NOT NULL DEFAULT '0000-00-00',
  `GZFXR_ID` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL,
  `GZFZR_ID` varchar(20) COLLATE utf8_unicode_ci DEFAULT '',
  `SFGS` int(1) NOT NULL DEFAULT '0',
  `GZMS` varchar(200) COLLATE utf8_unicode_ci DEFAULT NULL,
  `ZDR_ID` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL,
  `ZDRQ` date NOT NULL DEFAULT '0000-00-00',
  `SHR_ID` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL,
  `SHRQ` date DEFAULT NULL,
  `DJZT` int(1) NOT NULL DEFAULT '0',
  PRIMARY KEY (`CODE`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

要计算不同CODE中,如SBDM_ID='001'一共出现了多少次,将出现的次数累加起来!



------解决方案--------------------------------------------------------
SQL code
mysql> select * from sbgz_sbgzdj;+------+---------+---------+------------+----------+----------+------+----------+--------+------------+--------+------------+------+| CODE | SBDM_ID | GZLB_ID | GZFSRQ     | GZFXR_ID | GZFZR_ID | SFGS |      GZMS| ZDR_ID | ZDRQ       | SHR_ID | SHRQ       | DJZT |+------+---------+---------+------------+----------+----------+------+----------+--------+------------+--------+------------+------+| 001  | 002     | gz001   | 2012-09-20 | 002      | 王五     |    1 | 系统崩溃| 李四   | 2012-10-10 | 李四   | 2012-12-30 |    1 || 002  | 001     | gz001   | 2012-06-21 | 002      | 王五     |    0 | 11111111| 李四   | 2012-06-21 | 李四   | 2012-06-28 |    0 || 003  | 001     | gz001   | 2012-06-21 | 002      | 王五     |    0 | 11111111| 李四   | 2012-06-21 | 李四   | 2012-06-28 |    0 |+------+---------+---------+------------+----------+----------+------+----------+--------+------------+--------+------------+------+3 rows in set (0.07 sec)mysql> select * from sbda_sbzlb;+------+---------+---------+-------+---------+------+------+-------+--------+------------+-------+------------+------+-------+------------+------+------------+------+| SBBM | SBMC    | SBLX_ID | SBGG  | SBXH    | SBZT | SBYT | ZZS   | GYS_ID | CCRQ       | CCBH  | QYRQ       | SYBM | AZDD  | BZ         | ZDR  | ZDRQ       |SBLX |+------+---------+---------+-------+---------+------+------+-------+--------+------------+-------+------------+------+-------+------------+------+------------+------+| 001  | TCP/232 | 111     | 20m/s | TU-8001 | 0    | ASD  | ASDD  | AAA    | 2012-06-12 | DAS   | 2012-06-13 | Y001 | AA    | AAAA       | AA   | 2012-06-27 |NULL || 002  | 无线AP  | 333     | 40m/s | TU-8002 | 0    | EQWE | EQW   | AAA    | 2012-06-28 | EQWEQ | 2012-06-19 | G001 | EQWEQ | EQWE111111 | EQWE | 2012-06-20 |NULL || 003  | TCP/485 | 222     | 30m/s | TU-8003 | 0    | DSAD | ADASD | AAA    | 2012-06-13 | ASDA  | 2012-06-20 | Z001 | DASD  | DASDA      | ADSA | 2012-06-13 |NULL || 004  | TP-Link | 444     | 50m/s | TU-8004 | 0    | dd   | dd    | AAA    | 2012-06-15 | dd    | 2012-06-05 | G001 | dd    | dd         | dd   | 2012-06-04 |NULL |+------+---------+---------+-------+---------+------+------+-------+--------+------------+-------+------------+------+-------+------------+------+------------+------+4 rows in set (0.00 sec)
------解决方案--------------------------------------------------------
SQL code
mysql> select SBDM_ID,GZLB_ID,count(*)    -> from sbgz_sbgzdj    -> group by SBDM_ID,GZLB_ID;+---------+---------+----------+| SBDM_ID | GZLB_ID | count(*) |+---------+---------+----------+| sb001   | gz001   |        2 || sb001   | gz002   |        2 || sb002   | gz001   |        2 || sb002   | gz003   |        1 || sb003   | gz002   |        1 || sb003   | gz003   |        1 |+---------+---------+----------+6 rows in set (0.05 sec)mysql>
  相关解决方案