[今月の履歴書の数] - [先月の履歴書の数] = [先月と比較した数] (写真)
SQL文の書き方は?
SELECT DATE_FORMAT(m_adddate,'%m') as month,count(m_id) as zong,DATE_FORMAT(m_adddate,'%Y') as year from job_myreceive where DATE_FORMAT(m_adddate,'%Y')=2011 GROUP BY DATE_FORMAT( m_adddate,'%m');
それほど多くの人がいないことが判明しました。
専門家が来て私を助けてくれます
1 月はどのように前月としてカウントされますか?
1 月はどのように前月として数えられますか?
01 と比較する必要はありません
純粋な SQL を使用してのみ計算できますか?
純粋な SQL を使用してのみ計算できますか? PHP と組み合わせることもできます
PHP を使用する場合、SQL ステートメントを直接使用するのは少し面倒ですが、不可能ではありません。
mysqlには引き算はありませんか?
現在の月を前月に接続するだけです
DATE_FORMAT(m_adddate,'%Y%m') = DATE_FORMAT(DATE_SUB(m_adddate,INTERVAL 1 MONTH),'%Y%m')
現在の月を前月に接続します前月 それを関連付けるだけです
DATE_FORMAT(m_adddate,'%Y%m') = DATE_FORMAT(DATE_SUB(m_adddate,INTERVAL 1 MONTH),'%Y%m') Banban から詳細を求められ、接続後の構文を投稿して見つけました。 out: 0
テストデータをくれました
試してみませんか
select DATE_FORMAT(t1.m_adddate,'%m') as month, t1.m_id,DATE_FORMAT(t1.m_adddate,'%Y') as year,t1.m_id-t2.m_id from job_myreceive t1 left join job_myreceive t2 on month(t1.m_adddate)-1=month(t2.m_adddate) where DATE_FORMAT(t1.m_adddate,'%Y')=2011
月 履歴書の数 年 テスト (比較用)
01 4864 2011 0
02 8193 2011 0
03 7182 011 0
04 8472 2011 0
05 7565 2011 0
06 7062 2011 0
07 5620 2011 0
08 5994 2011 0
09 5059 2011 0
10 5574 11 0
11 3428 2011 0
12 5260 2011 0
[SQL ステートメント]: SELECT DATE_FORMAT(m_adddate,'%m') は月、count(m_id) はゾン、DATE_FORMAT(m_adddate,'%Y') は年、
DATE_FORMAT(m_adddate,'%Y%m') = DATE_FORMAT(DATE_SUB(m_adddate, INTERVAL 1 MONTH),' %Y%m') as test
from job_myreceive where DATE_FORMAT(m_adddate,'%Y')=2011 GROUP BY DATE_FORMAT(m_adddate,'%m')
試してみてもらえますか? 、間違ったループ]
01 4864 2011 0
02 8193 2011 0
03 7182 2011 0
04 8472 2011 0
75 65 2011 0
06 7062 2011 0
07 5620 2011 0
08 5994 2011 0
09 5059 2011 0
11 3428 2011 0
12 5260 2011 0
[SQL ステートメント]: SELECT DATE _FORMAT(m_adddate,'%m') としてmonth,count(m_id) as zong,DATE_FORMAT(m_adddate,'%Y') as year,
DATE_FORMAT(m_adddate,'%Y%m') = DATE_FORMAT(DATE_SUB(m_adddate,INTERVAL 1 MONTH),'%Y%m ') as test
from job_myreceive where DATE_FORMAT(m_adddate,'%Y')=2011 GROUP BY DATE_FORMAT(m_adddate,'%m')
それでは、データを入力するためのテーブルを作成してもよろしいですか?
それでは、テーブルを作成してデータを入力してもよろしいですか?
SQLコマンドをエクスポートできないのですか?
SET FOREIGN_KEY_CHECKS=0;
-----------------------------
-- `job_myreceive` のテーブル構造
- - ----------------------------
DROP TABLE IF EXISTS `job_myreceive`
CREATE TABLE `job_myreceive` (
`m_id` int (10) unsigned NOT NULL auto_increment、
`m_rid` int(10) NOT NULL デフォルト '0'、
`m_name` varchar(50) NOT NULL、
`m_sex` tinyint(1) NOT NULL デフォルト '0'、
`m_birth` 日付 NOT NULL、
`m_edu` tinyint(2) NOT NULL デフォルト '0'、
`m_hid` int(10) NOT NULL デフォルト '0'、
`m_place` varchar(50) NOT NULL コメント '位置を適用'、
`m_cmember` varchar(20) NOT NULL、
`m_pmember` varchar(20) NOT NULL、
`m_adddate` datetime NOT NULL デフォルト '0000-00-00 00:00:00'、
`m_read ` tinyint(1) NOT NULL デフォルト '0'、
`m_content` テキスト NOT NULL、
`m_lang` tinyint(1) NOT NULL デフォルト '0'、
主キー (`m_id`)、
KEY `m_place` ( ` m_place`),
KEY `m_hid` (`m_hid`)
) ENGINE=MyISAM AUTO_INCREMENT=111546 DEFAULT CHARSET=gbk;
-------------------- ---------
-- job_myreceive のレコード
-- ----------------------------
INSERT INTO ` job_myreceive` VALUES ('74', '625047', 'Li Qiang', '1', '1980-01-01', '5', '251168', '医師助手', 'qq102971141', 'hzcxlgq', ' 2013-05-28 13:43:17', '0', '', '0');
INSERT INTO `job_myreceive` VALUES ('77', '625047', '李强', '1', ' 1980 -01-01'、'5'、'245030'、'常駐'、'aabb41724125'、'hzcxlgq'、'2010-12-28 13:54:27'、'0'、''、0' );
INSERT INTO `job_myreceive` VALUES ('78', '675931', 'Dr. Wang', '1', '0000-01-01', '0', '271982', '肛門直腸科医', ' zbyyyy', 'blair123', '2010-12-29 21:57:50', '0', '', '0');
INSERT INTO `job_myreceive` VALUES ('79', '691982', 'ありがとうあなた永峰', '1', '1990-05-10', '1', '270201', 'ドライバー', '永続', 'ドライバー', '2010-12-29 21:59:26', ' 0', 'このドライバーは車を持ってきて、診療所で働きたいと考えています。連絡先番号 15817540656', '0');
INSERT INTO `job_myreceive` VALUES ('80', '691989', 'Lin Zeping', '2', '1985-09-24', '5', '270166) ', '産婦人科研修医', 'dgsgyy', 'linzeping', '2010-12-29 22:00:36', '0', '', '0');
INSERT INTO `job_myreceive` VALUES ( '82', '691989', '林澤平', '2', '1985-09-24', '5', '265725', '産婦人科', '6514585891AAA', '林澤平', '2010- 12-29 22:05:28', '0', '', '0');
INSERT INTO `job_myreceive` VALUES ('83', '687648', 'Lin Zihang', '1', '1977-) 06-06', '5', '270969', '管理部長', 'xacayy', 'l608636', '2011-05-29 22:07:46', '0', '', '0' );
INSERT INTO `job_myreceive` VALUES ('90', '687648', 'Lin Zihang', '1', '1977-06-06', '5', '261560', '外来診療所長', ' Bagdnui ', 'l608636', '2010-12-29 22:12:50', '0', '', '0');
INSERT INTO `job_myreceive` VALUES ('54523', '697204', 'Yao) Jie ', '1', '1968-10-21', '6', '346100', '外来院長', 'njcxyy', 'hbjzyaojie', '2011-07-16 13:29:51', '0 ', '', '0');
INSERT INTO `job_myreceive` VALUES ('92', '687648', 'Lin Zihang', '1', '1977-06-06', '5', ' 271967' , '外来院長', '518fck', 'l608636', '2011-12-29 22:12:50', '0', '', '0'); INSERT INTO `job_myreceive` VALUES ('3232', '692140', '吕锋', '1', '0000-00-00', '5', '272140', '医院总经理', '遵义女子医院', '开拓发展', '2011-01-16 10:20:40', '0', '', '0');
INSERT INTO `job_myreceive` VALUES ('660', '692067', '卓志彬', '1', '1984-09-27', '4', '265632', '医院经营管理主任', 'yihao', '1291190', '2011-01-03 15:43:02', '0', '', '0');
INSERT INTO `job_myreceive` VALUES ('96', '650782', '张医生', '1', '0000-00-00', '6', '264340', '痔科', 'zg3610', 'yuanmeng', '2011-07-29 22:40:15', '0', '', '0');
SELECT DATE_FORMAT(a.m_adddate,'%Y%m') as Ym, count(*) as cnt_a,(select count(*) from job_myreceive where DATE_FORMAT(a.m_adddate,'%Y%m') = DATE_FORMAT(DATE_SUB(m_adddate,INTERVAL 1 MONTH),'%Y%m')) as cnt_b FROM job_myreceive a group by 1
Ym cnt_a cnt_b 201012 6 2 201101 2 0 201105 1 0 201107 2 0 201112 1 0 201305 1 0
嗯,这样写清楚些
SELECT DATE_FORMAT(a.m_adddate,'%Y%m') as Ym, count(*) as `当月`,(select count(*) from job_myreceive where DATE_FORMAT(a.m_adddate,'%Y%m') = DATE_FORMAT(DATE_add(m_adddate,INTERVAL 1 MONTH),'%Y%m')) as 上月 FROM job_myreceive a group by 1
Ym 当月 上月 201012 6 0 201101 2 6 201105 1 0 201107 2 0 201112 1 0 201305 1 0
嗯,这样写清楚些
SELECT DATE_FORMAT(a.m_adddate,'%Y%m') as Ym, count(*) as `当月`,(select count(*) from job_myreceive where DATE_FORMAT(a.m_adddate,'%Y%m') = DATE_FORMAT(DATE_add(m_adddate,INTERVAL 1 MONTH),'%Y%m')) as 上月 FROM job_myreceive a group by 1
Ym 当月 上月 201012 6 0 201101 2 6 201105 1 0 201107 2 0 201112 1 0 201305 1 0