一个表如下
id userid 类型 状态 时间
1 11 aa 0 2009-10-10 10:10:10
2 11 aa 1 2009-10-11 10:10:10
3 22 bb 0 2009-10-12 10:10:10
4 22 bb 1 2009-10-13 10:10:10
查询这个表,如果状态=0的话记录插入到table1中(table1和这个表结构一样),状态=1时从table1中查询出userid,类型相等的数据合并成一条插入到一个新表中。
望高手指点
id userid 类型 状态 时间
1 11 aa 0 2009-10-10 10:10:10
2 11 aa 1 2009-10-11 10:10:10
3 22 bb 0 2009-10-12 10:10:10
4 22 bb 1 2009-10-13 10:10:10
查询这个表,如果状态=0的话记录插入到table1中(table1和这个表结构一样),状态=1时从table1中查询出userid,类型相等的数据合并成一条插入到一个新表中。
望高手指点
id userid 类型 状态 时间
1 11 aa 0 2009-10-10 10:10:10 你查出的数据当状态=1时的数据如下
id userid 类型 状态 时间
10 11 aa 1 2009-10-15 10:10:10 将table1中的数据和这条数据合并插入的到table2中
table2的结构如下:
userid1 类型1 状态1 时间1 userid2 类型2 状态2 时间2
3个表, table(源数据表) table1(状态0的表) table2(用来统计的表)
第一个月从源数据表数据中统计一次,状态0的插入到table1中(手动执行)
第二个月统计时按照时间或者id的顺序来查询源数据表,如果状态0插入table1,如果状态1 则根据这条数据
从table1表中查询出userid和类型相同的一条数据联合插入到table2表中
以后每月执行一次状态1时插入数据详解:
例如 table1中有数据如下
id userid 类型 状态 时间
1 11 aa 0 2009-10-10 10:10:10 当从源数据表中查出的数据当状态=1时的数据如下
id userid 类型 状态 时间
10 11 aa 1 2009-10-15 10:10:10 将table1中的数据和这条数据合并插入的到table2(统计表)中
table2的结构如下:
userid1 类型1 状态1 时间1 userid2 类型2 状态2 时间2
不知道这样说大家能不能清楚点
select * from t1 a left join t1 b on a.userid=b.userid where a.状态='0' and b.状态='1'
insert into ... 语句。然后你期望的结果的样子。这样大家可以不用担心对语言上的理解上的偏差。 根据你的数据,做出你需要的结果。
`id` int(11) NOT NULL default '0',
`userid` varchar(50) default NULL,
`otype` varchar(100) default NULL,
`zt` varchar(50) default NULL,
`dtime` timestamp NOT NULL default '0000-00-00 00:00:00'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;/*Data for the table `t1` */insert into `t1`(`id`,`userid`,`otype`,`zt`,`dtime`) values
(135,'18991341985','135000000000000000704','0','2008-12-20 10:23:59'),
(136,'18991341985','135000000000000000704','3','2008-12-20 10:24:14'),
(137,'18991341985','135000000000000000704','0','2008-12-20 10:24:40'),
(138,'18991341985','135000000000000000704','3','2008-12-20 10:24:55'),
(139,'18991341985','135000000000000000704','0','2008-12-20 10:26:06'),
(140,'18991341985','135000000000000000704','3','2008-12-20 10:26:21'),
(141,'01891c2a6cf32c6205e1a','135000000000000000704','0','2008-12-20 10:29:33'),
(142,'8618973144175','135000000000000000704','0','2008-12-20 10:50:42'),
(143,'18945184322','135000000000000000704','0','2008-12-20 11:04:23'),
(144,'07714f4ecf6a3e4fa46ad','135000000000000000704','0','2008-12-20 11:16:15'),
(145,'18979172142','135000000000000000704','0','2008-12-20 11:33:40'),
(146,'18910044343','135000000000000000704','0','2008-12-20 11:36:55'),
(147,'07716f1b2124769823401','135000000000000000704','0','2008-12-20 11:37:49'),
(148,'01891bd800057df8fcb03','135000000000000000704','0','2008-12-20 11:38:46'),
(149,'07716f1b2124769823401','135000000000000000704','3','2008-12-20 11:43:09'),
(150,'01891bd800057df8fcb03','135000000000000000704','3','2008-12-20 11:47:54'),
(151,'8618959740074','135000000000000000704','0','2008-12-20 11:48:58'),
(152,'18907504237','135000000000000000704','0','2008-12-20 12:07:49'),
(153,'12345678912','135000000000000000704','0','2008-12-20 12:09:23'),
(154,'8618973144173','135000000000000000704','0','2008-12-20 12:10:02'),
(155,'18979172142','135000000000000000704','3','2008-12-20 12:10:36'),
(750,'18971710722','135000000000000000704','0','2009-01-01 09:44:00'),
(751,'18971710722','135000000000000000704','3','2009-01-01 09:49:33'),
(752,'8618905444044','135000000000000000704','0','2009-01-01 11:31:09'),
(753,'8618953100923','135000000000000000704','0','2009-01-01 13:47:34'),
(754,'18908076789','135000000000000000704','0','2009-01-01 15:58:23'),
(755,'8618951850254','135000000000000000704','0','2009-01-01 18:06:14'),
(756,'18995210171','135000000000000000704','0','2009-01-02 09:22:12'),
(757,'18995210171','135000000000000000704','0','2009-01-02 09:22:12'),
(758,'18995210171','135000000000000000704','0','2009-01-02 09:22:12'),
(759,'18907956869','135000000000000000704','0','2009-01-02 19:12:59'),
(760,'18931844308','135000000000000000704','0','2009-01-02 22:14:07'),
(761,'18931844308','135000000000000000704','3','2009-01-02 22:16:14'),
(762,'18986333333','135000000000000000704','0','2009-01-03 18:13:56'),
(763,'18999440064','135000000000000000704','0','2009-01-03 23:53:05'),
(764,'18982173585','135000000000000000704','0','2009-01-04 14:56:55'),
(765,'8618918912096','135000000000000000704','0','2009-01-04 15:03:08'),
(766,'18979172047','135000000000000000704','0','2009-01-04 17:13:34'),
(767,'8618908381110','135000000000000000704','0','2009-01-04 17:40:39'),
(768,'8618908963315','135000000000000000704','0','2009-01-04 17:45:51'),
(769,'8618978240823','135000000000000000704','3','2009-01-04 20:35:06'),
(770,'18943224639','135000000000000000704','0','2009-01-05 08:45:48'),
(771,'18907198288','135000000000000000704','0','2009-01-05 11:14:34'),
(772,'18971880501','135000000000000000704','0','2009-01-05 14:26:53'),
(773,'18971880501','135000000000000000704','3','2009-01-05 22:49:17'),
(774,'18999414135','135000000000000000704','0','2009-01-05 23:38:18'),
(775,'18931844308','135000000000000000704','0','2009-01-06 00:04:45'),
(776,'18931844308','135000000000000000704','3','2009-01-06 00:06:08'),
(777,'18908004305','135000000000000000704','0','2009-01-06 01:35:41'),
(778,'18971132501','135000000000000000704','0','2009-01-06 10:41:27'),
(779,'8618903574067','135000000000000000704','0','2009-01-06 11:25:38'),
(780,'8618903574067','135000000000000000704','3','2009-01-06 11:28:12'),
(781,'18910044360','135000000000000000704','3','2009-01-06 13:28:59'),
(782,'18986322863','135000000000000000704','0','2009-01-06 17:34:17'),
(783,'8618903582040','135000000000000000704','0','2009-01-07 09:18:10'),
(784,'8618903594067','135000000000000000704','0','2009-01-07 09:40:52'),
(785,'8618903594067','135000000000000000704','3','2009-01-07 09:47:03'),
(786,'8618935000354','135000000000000000704','0','2009-01-07 10:34:27'),
(787,'8618935000354','135000000000000000704','3','2009-01-07 10:51:10'),
(792,'18931633484','135000000000000000704','3','2009-01-07 18:58:04'),
(793,'8618903424072','135000000000000000704','0','2009-01-08 13:01:11'),
(794,'8618903424072','135000000000000000704','3','2009-01-08 13:05:55'),
(919,'18907575389','135000000000000000704','0','2009-01-31 07:41:56'),
(920,'18907575389','135000000000000000704','3','2009-01-31 07:43:39'),
(921,'18907575389','135000000000000000704','0','2009-01-31 07:50:58'),
(922,'18980805568','135000000000000000704','0','2009-01-31 10:35:48'),
(923,'18927000366','135000000000000000704','0','2009-01-31 20:48:34');
/* table1(状态0的表) */
create table t2 select * from t1 where zt=0 and dtime>'2008-12-01' and dtime<'2009-01-01'/* 统计09年1月份的数据查询源数据表t1,如果状态0插入t2,如果状态3 则根据这条数据
从t1表中查询出userid=userid and otype=otype 的一条数据联合插入到一个新表中 */
+-----+-----------------------+-----------------------+------+---------------------+
| id | userid | otype | zt | dtime |
+-----+-----------------------+-----------------------+------+---------------------+
| 135 | 18991341985 | 135000000000000000704 | 0 | 2008-12-20 10:23:59 |
| 136 | 18991341985 | 135000000000000000704 | 3 | 2008-12-20 10:24:14 |
| 137 | 18991341985 | 135000000000000000704 | 0 | 2008-12-20 10:24:40 |
| 138 | 18991341985 | 135000000000000000704 | 3 | 2008-12-20 10:24:55 |
| 139 | 18991341985 | 135000000000000000704 | 0 | 2008-12-20 10:26:06 |
| 140 | 18991341985 | 135000000000000000704 | 3 | 2008-12-20 10:26:21 |
| 141 | 01891c2a6cf32c6205e1a | 135000000000000000704 | 0 | 2008-12-20 10:29:33 |
| 142 | 8618973144175 | 135000000000000000704 | 0 | 2008-12-20 10:50:42 |
| 143 | 18945184322 | 135000000000000000704 | 0 | 2008-12-20 11:04:23 |
| 144 | 07714f4ecf6a3e4fa46ad | 135000000000000000704 | 0 | 2008-12-20 11:16:15 |
| 145 | 18979172142 | 135000000000000000704 | 0 | 2008-12-20 11:33:40 |
| 146 | 18910044343 | 135000000000000000704 | 0 | 2008-12-20 11:36:55 |
| 147 | 07716f1b2124769823401 | 135000000000000000704 | 0 | 2008-12-20 11:37:49 |
| 148 | 01891bd800057df8fcb03 | 135000000000000000704 | 0 | 2008-12-20 11:38:46 |
| 149 | 07716f1b2124769823401 | 135000000000000000704 | 3 | 2008-12-20 11:43:09 |
| 150 | 01891bd800057df8fcb03 | 135000000000000000704 | 3 | 2008-12-20 11:47:54 |
| 151 | 8618959740074 | 135000000000000000704 | 0 | 2008-12-20 11:48:58 |
| 152 | 18907504237 | 135000000000000000704 | 0 | 2008-12-20 12:07:49 |
| 153 | 12345678912 | 135000000000000000704 | 0 | 2008-12-20 12:09:23 |
| 154 | 8618973144173 | 135000000000000000704 | 0 | 2008-12-20 12:10:02 |
| 155 | 18979172142 | 135000000000000000704 | 3 | 2008-12-20 12:10:36 |
| 750 | 18971710722 | 135000000000000000704 | 0 | 2009-01-01 09:44:00 |
| 751 | 18971710722 | 135000000000000000704 | 3 | 2009-01-01 09:49:33 |
| 752 | 8618905444044 | 135000000000000000704 | 0 | 2009-01-01 11:31:09 |
| 753 | 8618953100923 | 135000000000000000704 | 0 | 2009-01-01 13:47:34 |
| 754 | 18908076789 | 135000000000000000704 | 0 | 2009-01-01 15:58:23 |
| 755 | 8618951850254 | 135000000000000000704 | 0 | 2009-01-01 18:06:14 |
| 756 | 18995210171 | 135000000000000000704 | 0 | 2009-01-02 09:22:12 |
| 757 | 18995210171 | 135000000000000000704 | 0 | 2009-01-02 09:22:12 |
| 758 | 18995210171 | 135000000000000000704 | 0 | 2009-01-02 09:22:12 |
| 759 | 18907956869 | 135000000000000000704 | 0 | 2009-01-02 19:12:59 |
| 760 | 18931844308 | 135000000000000000704 | 0 | 2009-01-02 22:14:07 |
| 761 | 18931844308 | 135000000000000000704 | 3 | 2009-01-02 22:16:14 |
| 762 | 18986333333 | 135000000000000000704 | 0 | 2009-01-03 18:13:56 |
| 763 | 18999440064 | 135000000000000000704 | 0 | 2009-01-03 23:53:05 |
| 764 | 18982173585 | 135000000000000000704 | 0 | 2009-01-04 14:56:55 |
| 765 | 8618918912096 | 135000000000000000704 | 0 | 2009-01-04 15:03:08 |
| 766 | 18979172047 | 135000000000000000704 | 0 | 2009-01-04 17:13:34 |
| 767 | 8618908381110 | 135000000000000000704 | 0 | 2009-01-04 17:40:39 |
| 768 | 8618908963315 | 135000000000000000704 | 0 | 2009-01-04 17:45:51 |
| 769 | 8618978240823 | 135000000000000000704 | 3 | 2009-01-04 20:35:06 |
| 770 | 18943224639 | 135000000000000000704 | 0 | 2009-01-05 08:45:48 |
| 771 | 18907198288 | 135000000000000000704 | 0 | 2009-01-05 11:14:34 |
| 772 | 18971880501 | 135000000000000000704 | 0 | 2009-01-05 14:26:53 |
| 773 | 18971880501 | 135000000000000000704 | 3 | 2009-01-05 22:49:17 |
| 774 | 18999414135 | 135000000000000000704 | 0 | 2009-01-05 23:38:18 |
| 775 | 18931844308 | 135000000000000000704 | 0 | 2009-01-06 00:04:45 |
| 776 | 18931844308 | 135000000000000000704 | 3 | 2009-01-06 00:06:08 |
| 777 | 18908004305 | 135000000000000000704 | 0 | 2009-01-06 01:35:41 |
| 778 | 18971132501 | 135000000000000000704 | 0 | 2009-01-06 10:41:27 |
| 779 | 8618903574067 | 135000000000000000704 | 0 | 2009-01-06 11:25:38 |
| 780 | 8618903574067 | 135000000000000000704 | 3 | 2009-01-06 11:28:12 |
| 781 | 18910044360 | 135000000000000000704 | 3 | 2009-01-06 13:28:59 |
| 782 | 18986322863 | 135000000000000000704 | 0 | 2009-01-06 17:34:17 |
| 783 | 8618903582040 | 135000000000000000704 | 0 | 2009-01-07 09:18:10 |
| 784 | 8618903594067 | 135000000000000000704 | 0 | 2009-01-07 09:40:52 |
| 785 | 8618903594067 | 135000000000000000704 | 3 | 2009-01-07 09:47:03 |
| 786 | 8618935000354 | 135000000000000000704 | 0 | 2009-01-07 10:34:27 |
| 787 | 8618935000354 | 135000000000000000704 | 3 | 2009-01-07 10:51:10 |
| 792 | 18931633484 | 135000000000000000704 | 3 | 2009-01-07 18:58:04 |
| 793 | 8618903424072 | 135000000000000000704 | 0 | 2009-01-08 13:01:11 |
| 794 | 8618903424072 | 135000000000000000704 | 3 | 2009-01-08 13:05:55 |
| 919 | 18907575389 | 135000000000000000704 | 0 | 2009-01-31 07:41:56 |
| 920 | 18907575389 | 135000000000000000704 | 3 | 2009-01-31 07:43:39 |
| 921 | 18907575389 | 135000000000000000704 | 0 | 2009-01-31 07:50:58 |
| 922 | 18980805568 | 135000000000000000704 | 0 | 2009-01-31 10:35:48 |
| 923 | 18927000366 | 135000000000000000704 | 0 | 2009-01-31 20:48:34 |
+-----+-----------------------+-----------------------+------+---------------------+
67 rows in set (0.00 sec)mysql> select * from t2;
+-----+-----------------------+-----------------------+------+---------------------+
| id | userid | otype | zt | dtime |
+-----+-----------------------+-----------------------+------+---------------------+
| 135 | 18991341985 | 135000000000000000704 | 0 | 2008-12-20 10:23:59 |
| 137 | 18991341985 | 135000000000000000704 | 0 | 2008-12-20 10:24:40 |
| 139 | 18991341985 | 135000000000000000704 | 0 | 2008-12-20 10:26:06 |
| 141 | 01891c2a6cf32c6205e1a | 135000000000000000704 | 0 | 2008-12-20 10:29:33 |
| 142 | 8618973144175 | 135000000000000000704 | 0 | 2008-12-20 10:50:42 |
| 143 | 18945184322 | 135000000000000000704 | 0 | 2008-12-20 11:04:23 |
| 144 | 07714f4ecf6a3e4fa46ad | 135000000000000000704 | 0 | 2008-12-20 11:16:15 |
| 145 | 18979172142 | 135000000000000000704 | 0 | 2008-12-20 11:33:40 |
| 146 | 18910044343 | 135000000000000000704 | 0 | 2008-12-20 11:36:55 |
| 147 | 07716f1b2124769823401 | 135000000000000000704 | 0 | 2008-12-20 11:37:49 |
| 148 | 01891bd800057df8fcb03 | 135000000000000000704 | 0 | 2008-12-20 11:38:46 |
| 151 | 8618959740074 | 135000000000000000704 | 0 | 2008-12-20 11:48:58 |
| 152 | 18907504237 | 135000000000000000704 | 0 | 2008-12-20 12:07:49 |
| 153 | 12345678912 | 135000000000000000704 | 0 | 2008-12-20 12:09:23 |
| 154 | 8618973144173 | 135000000000000000704 | 0 | 2008-12-20 12:10:02 |
+-----+-----------------------+-----------------------+------+---------------------+
15 rows in set (0.00 sec)mysql>楼主啊,你期望的最终结果是什么,请象这样表述出来。我期望的结果如下:mysql> select * from t2;
+-----+-----------------------+-----------------------+------+---------------------+
| id | userid | otype | zt | dtime |
+-----+-----------------------+-----------------------+------+---------------------+
| 135 | 18991341985 | 135000000000000000704 | 1 | 2008-12-20 10:23:59 |
| 137 | 18991341985 | 135000000000000000704 | 1 | 2008-12-20 10:24:40 |
| 139 | 18991341985 | 135000000000000000704 | 1 | 2008-12-20 10:26:06 |
| 141 | 01891c2a6cf32c6205e1a | 135000000000000000704 | 1 | 2008-12-20 10:29:33 |
| 142 | 8618973144175 | 135000000000000000704 | 1 | 2008-12-20 10:50:42 |
| 143 | 18945184322 | 135000000000000000704 | 1 | 2008-12-20 11:04:23 |
| 144 | 07714f4ecf6a3e4fa46ad | 135000000000000000704 | 1 | 2008-12-20 11:16:15 |
| 145 | 18979172142 | 135000000000000000704 | 1 | 2008-12-20 11:33:40 |
| 146 | 18910044343 | 135000000000000000704 | 1 | 2008-12-20 11:36:55 |
| 147 | 07716f1b2124769823401 | 135000000000000000704 | 1 | 2008-12-20 11:37:49 |
| 148 | 01891bd800057df8fcb03 | 135000000000000000704 | 1 | 2008-12-20 11:38:46 |
| 151 | 8618959740074 | 135000000000000000704 | 1 | 2008-12-20 11:48:58 |
| 152 | 18907504237 | 135000000000000000704 | 1 | 2008-12-20 12:07:49 |
| 153 | 12345678912 | 135000000000000000704 | 1 | 2008-12-20 12:09:23 |
| 154 | 8618973144173 | 135000000000000000704 | 1 | 2008-12-20 12:10:02 |
+-----+-----------------------+-----------------------+------+---------------------+
15 rows in set (0.00 sec)
或者说下面这个结果你认为哪而不对?如果你认为下面的不对,那么正确的又是什么? 很简单的一件事,只需要你写你正确的结果。
+-----+-----------------------+-----------------------+------+---------------------+
| id | userid | otype | zt | dtime |
+-----+-----------------------+-----------------------+------+---------------------+
| 135 | 18991341985 | 135000000000000000704 | 1 | 2008-12-20 10:23:59 |
| 137 | 18991341985 | 135000000000000000704 | 1 | 2008-12-20 10:24:40 |
| 139 | 18991341985 | 135000000000000000704 | 1 | 2008-12-20 10:26:06 |
| 141 | 01891c2a6cf32c6205e1a | 135000000000000000704 | 1 | 2008-12-20 10:29:33 |
| 142 | 8618973144175 | 135000000000000000704 | 1 | 2008-12-20 10:50:42 |
| 143 | 18945184322 | 135000000000000000704 | 1 | 2008-12-20 11:04:23 |
| 144 | 07714f4ecf6a3e4fa46ad | 135000000000000000704 | 1 | 2008-12-20 11:16:15 |
| 145 | 18979172142 | 135000000000000000704 | 1 | 2008-12-20 11:33:40 |
| 146 | 18910044343 | 135000000000000000704 | 1 | 2008-12-20 11:36:55 |
| 147 | 07716f1b2124769823401 | 135000000000000000704 | 1 | 2008-12-20 11:37:49 |
| 148 | 01891bd800057df8fcb03 | 135000000000000000704 | 1 | 2008-12-20 11:38:46 |
| 151 | 8618959740074 | 135000000000000000704 | 1 | 2008-12-20 11:48:58 |
| 152 | 18907504237 | 135000000000000000704 | 1 | 2008-12-20 12:07:49 |
| 153 | 12345678912 | 135000000000000000704 | 1 | 2008-12-20 12:09:23 |
| 154 | 8618973144173 | 135000000000000000704 | 1 | 2008-12-20 12:10:02 |
+-----+-----------------------+-----------------------+------+---------------------+