求助,如何在进行过JOIN和GROUP BY的查询结果中删除带NULL的行

yilingliu610 2018-10-09 07:42:12
SELECT ID, COUNT(*) AS DRIVE_TIME FROM EMPLOYEE RIGHT JOIN SERVE ON SERVE.DRIVER=EMPLOYEE.ID GROUP BY ID;


查询结果的ID中有一行结果是NULL

如何让这行不显示呢?
EMPLOYEE 和 SERVE 的结构如下

CREATE TABLE `EMPLOYEE`(
`ID` int(10) NOT NULL AUTO_INCREMENT,
`PHONE_NUMBER` int(20) NOT NULL DEFAULT '0',
`NAME` char(30) NOT NULL DEFAULT '',
`ADDRESS` char(50) NOT NULL DEFAULT '',
`BASE_SALARY` int(10) NOT NULL DEFAULT '0',
PRIMARY KEY(`ID`)
);

INSERT INTO `EMPLOYEE` VALUES (1,99999,'TAT','SUMMY ROAD 001',2000);
INSERT INTO `EMPLOYEE` VALUES (2,99998,'QAQ','SUMMY ROAD 002',3000);
INSERT INTO `EMPLOYEE` VALUES (3,99997,'$.$','SUMMY ROAD 003',2300);
INSERT INTO `EMPLOYEE` VALUES (4,99996,'#.#','SUMMY ROAD 004',2600);
INSERT INTO `EMPLOYEE` VALUES (5,99995,'-.-','SUMMY ROAD 004',1500);
INSERT INTO `EMPLOYEE` VALUES (6,99994,'f.f','SUMMY ROAD 005',2700);
INSERT INTO `EMPLOYEE` VALUES (7,99993,'L.L','SUMMY ROAD 006',5000);
INSERT INTO `EMPLOYEE` VALUES (8,99992,'I.I','SUMMY ROAD 007',2500);
INSERT INTO `EMPLOYEE` VALUES (9,99995,'M.M','SUMMY ROAD 008',2900);



DROP TABLE IF EXISTS `SERVE`;

CREATE TABLE `SERVE`(
`NO` int(10) NOT NULL AUTO_INCREMENT,
`CUST_PHONE` int(20) NOT NULL DEFAULT '0',
`COOK` int(10) NOT NULL DEFAULT '0',
`DRIVER` int(10) DEFAULT NULL,
PRIMARY KEY (`NO`),
FOREIGN KEY(`CUST_PHONE`) REFERENCES `CUSTOMER`(`PHONE`)
);

INSERT INTO `SERVE` VALUES(1,11111,1,1);
INSERT INTO `SERVE` VALUES(2,11111,1,NULL);
INSERT INTO `SERVE` VALUES(3,11112,2,2);
INSERT INTO `SERVE` VALUES(4,11113,3,5);
INSERT INTO `SERVE` VALUES(5,11114,3,4);
INSERT INTO `SERVE` VALUES(6,11115,3,6);
INSERT INTO `SERVE` VALUES(7,11116,7,7);
INSERT INTO `SERVE` VALUES(8,11117,7,8);
INSERT INTO `SERVE` VALUES(9,11118,9,8);
INSERT INTO `SERVE` VALUES(10,11119,1,8);
INSERT INTO `SERVE` VALUES(11,11119,2,9);
...全文
301 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
吉普赛的歌 版主 2018-10-09
  • 打赏
  • 举报
回复
SELECT ID, COUNT(*) AS DRIVE_TIME FROM EMPLOYEE 
RIGHT JOIN SERVE ON SERVE.DRIVER=EMPLOYEE.ID
WHERE EMPLOYEE.ID is not NULL
GROUP BY ID;
RINK_1 2018-10-09
  • 打赏
  • 举报
回复

SELECT ID, COUNT(*) AS DRIVE_TIME FROM EMPLOYEE RIGHT JOIN SERVE ON SERVE.DRIVER=EMPLOYEE.ID 
WHERE ID IS NOT NULL
GROUP BY ID;

34,576

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧