sql 语句 求解救

LHNET66 2013-12-04 09:08:35
select count(distinct guid) as guidcount,time from tabname
where guid not in(select guid from tabname where DATE_FORMAT(time,'%y-%m-%d')<DATE_FORMAT('2013-12-1','%y-%m-%d')) and DATE_FORMAT(time,'%y-%m-%d')
in(DATE_FORMAT('2013-12-1','%y-%m-%d'),DATE_FORMAT('2013-12-2','%y-%m-%d'), DATE_FORMAT('2013-12-3','%y-%m-%d')) group by DATE_FORMAT(time,'%y-%m-%d') order by time;

得到的答案是
guidcount time
1 2013-12-02
3 2013-12-03

想要得到的答案
guidcount time
0 2013-12-01
1 2013-12-02
3 2013-12-03
我知道 写的sql 语句有很大问题
我想知道怎么才能得到下面这种答案
...全文
182 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
暖枫无敌 2013-12-04
  • 打赏
  • 举报
回复

/*
Navicat MySQL Data Transfer

Source Server         : pp2
Source Server Version : 50508
Source Host           : localhost:3306
Source Database       : test2

Target Server Type    : MYSQL
Target Server Version : 50508
File Encoding         : 65001

Date: 2013-12-04 11:09:50
*/

SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for `tabname`
-- ----------------------------
DROP TABLE IF EXISTS `tabname`;
CREATE TABLE `tabname` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `guid` varchar(255) NOT NULL,
  `time` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=7 DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of tabname
-- ----------------------------
INSERT INTO `tabname` VALUES ('1', '1', '2013-12-02 10:39:25');
INSERT INTO `tabname` VALUES ('2', '2', '2013-12-03 10:39:49');
INSERT INTO `tabname` VALUES ('3', '3', '2013-12-03 10:42:21');
INSERT INTO `tabname` VALUES ('4', '4', '2013-12-03 10:42:22');
INSERT INTO `tabname` VALUES ('5', '5', '2013-12-04 10:58:36');
INSERT INTO `tabname` VALUES ('6', '6', '2013-11-28 11:01:03');

-- ----------------------------
-- Table structure for `time_fu`
-- ----------------------------
DROP TABLE IF EXISTS `time_fu`;
CREATE TABLE `time_fu` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `time` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of time_fu
-- ----------------------------
INSERT INTO `time_fu` VALUES ('1', '2013-12-01 10:50:54');
INSERT INTO `time_fu` VALUES ('2', '2013-12-02 10:51:01');
INSERT INTO `time_fu` VALUES ('3', '2013-12-03 10:51:06');


--------------------------------------------

select count(t.guid) as guidcount,DATE_FORMAT(f.time,'%y-%m-%d') as time 
from tabname as t 
right join time_fu as f 
	on DATE_FORMAT(t.time,'%y-%m-%d')=DATE_FORMAT(f.time,'%y-%m-%d')
group by f.time;

+-----------+----------+
| guidcount | time     |
+-----------+----------+
|         0 | 13-12-01 |
|         1 | 13-12-02 |
|         3 | 13-12-03 |
+-----------+----------+
LHNET66 2013-12-04
  • 打赏
  • 举报
回复
太深了,我不知道,我只是想知道能不能用sql语句写出来, 我不想用代码写,代码写虽然也行. 能不能给个注意啊!!!
rucypli 2013-12-04
  • 打赏
  • 举报
回复
引用 3 楼 wwwwb 的回复:
生成12月1-31日据有日期,与工作表连接后再进行处理
wwwwb 2013-12-04
  • 打赏
  • 举报
回复
生成12月1-31日据有日期,与工作表连接后再进行处理
LHNET66 2013-12-04
  • 打赏
  • 举报
回复
没有记录 ,我不知道该怎么写,求想法
wwwwb 2013-12-04
  • 打赏
  • 举报
回复
2013-12-01没有记录?

56,679

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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