วันนี้ 20 กุมภาพันธ์ 2559 เป็นวันที่วงพอส กลับมามีเพลงให้ฟังอีกครั้งชื่อเพลง “รักอยู่รอบกาย ” เราก็รอฟังเพลงนะ เพลงที่เป็นเสียงร้องของคุณโจ้ แต่ก็มีดราม่านิดหน่อยแต่เราก็รอฟังจากแหล่ง Official นะ รอฟังแบบตื่นเต้นเลย
ช่วงที่รอฟังเพลงด้วย อ่านการ์ตูนไปเรื่อยเปื่อย (นี่คือช่วงว่างแว๊บนึงจริง ๆ ) นึกถึงรายงานทางด้านสาธารณสุขรายงานหนึ่งที่คนขอรายงานมักจะบอกว่า “Re-Visit โรค XX ภายใน YY ชั่วโมง/วัน นะ” ทำนองนี้ คำว่า Re-Visit ง่าย ๆ บ้าน ๆ ก็คือการกลับมารักษาซ้ำด้วยโรคเดิม จะสาเหตุหนึ่ง สอง สาม หรืออะไรก็แล้วแต่ ซึ่งกลุ่มรายงานนี้มักจะถูกนำมาเป็น CQI ของโรงพยาบาลด้วย
เรื่องคุณภาพเรื่องนั้นจบไปหล่ะกัน แต่เราในฐานะของนักคอมพิวเตอร์ที่จะนำเสนอข้อมูลตรงนั้นออกมา มาดูหนึ่งในวิธีในการเรียกดูข้อมูล Re-Visit ออกมากันดีกว่า
สมมุติว่าเรามีข้อมูลดัมมี่ หุ่นนิ่ง ๆ ตั้งไว้หล่ะกัน (เราใช้บริการจากเว็บ www.generatedata.com เหมือนเดิม ทุกอย่างสมมุติหมดนะ วันที่เอย โรคเอย เผื่อสงสัย)
id เป็น PK เฉย ๆ
HN เป็น Hospital Number ใครไปโรงพยาบาล ก็จะได้ยินคำนี้ คือรหัสที่โรงพยาบาลตั้งขึ้นแทนตัวบุคคลเพื่อไม่ให้ซ้ำกันหล่ะกัน
VisitDateTime เป็นวันที่เข้าทำการรักษา
PDX เป็นโรคที่วินิจฉัย
สมมุติมีข้อมูลประมาณนี้
DROP TABLE IF EXISTS `Visit` ;
CREATE TABLE IF NOT EXISTS `Visit` (
`id` mediumint( 9 ) NOT NULL ,
`HN` varchar( 255 ) DEFAULT NULL ,
`VisitDateTime` datetime( 6 ) DEFAULT NULL ,
`PDX` varchar( 255 ) DEFAULT NULL
) ENGINE = InnoDB DEFAULT CHARSET = utf8;
INSERT DELAYED INTO `Visit` VALUES
( 1000 , '10' , '2015-12-28 12:03:00.000000' , 'Z133' ),
( 1001 , '10' , '2016-08-01 12:21:00.000000' , 'J069' ),
( 1002 , '9' , '2015-11-25 12:42:00.000000' , 'K30' ),
( 1003 , '4' , '2015-07-13 12:14:00.000000' , 'Z00' ),
( 1004 , '10' , '2015-12-21 12:20:00.000000' , 'U77' ),
( 1005 , '4' , '2015-08-31 12:16:00.000000' , 'K30' ),
( 1006 , '3' , '2016-05-26 12:16:00.000000' , 'Z00' ),
( 1007 , '10' , '2015-04-29 12:10:00.000000' , 'K30' ),
( 1008 , '7' , '2015-02-24 12:59:00.000000' , 'J069' ),
( 1009 , '10' , '2016-06-06 12:11:00.000000' , 'Z00' ),
( 1010 , '2' , '2015-04-21 12:29:00.000000' , 'Z00' ),
( 1011 , '5' , '2016-02-09 12:08:00.000000' , 'Z000' ),
( 1012 , '7' , '2016-07-12 12:09:00.000000' , 'E119' ),
( 1013 , '6' , '2016-02-04 12:29:00.000000' , 'Z480' ),
( 1014 , '3' , '2016-10-31 12:52:00.000000' , 'Z133' ),
( 1015 , '7' , '2015-05-24 12:47:00.000000' , 'Z133' ),
( 1016 , '7' , '2016-01-01 12:34:00.000000' , 'Z000' ),
( 1017 , '3' , '2015-08-01 12:11:00.000000' , 'Z133' ),
( 1018 , '8' , '2016-02-22 12:27:00.000000' , 'U77' ),
( 1019 , '6' , '2015-08-29 12:54:00.000000' , 'Z480' ),
( 1020 , '1' , '2016-02-28 12:43:00.000000' , 'E119' ),
( 1021 , '8' , '2015-10-18 12:19:00.000000' , 'Z480' ),
( 1022 , '7' , '2016-05-29 12:30:00.000000' , 'Z133' ),
( 1023 , '1' , '2016-07-23 12:47:00.000000' , 'J069' ),
( 1024 , '3' , '2015-12-08 12:42:00.000000' , 'Z00' ),
( 1025 , '7' , '2016-12-08 12:45:00.000000' , 'U77' ),
( 1026 , '5' , '2016-12-10 12:42:00.000000' , 'Z480' ),
( 1027 , '3' , '2015-05-21 12:19:00.000000' , 'Z480' ),
( 1028 , '7' , '2016-11-28 12:45:00.000000' , 'U77' ),
( 1029 , '7' , '2015-06-27 12:16:00.000000' , 'J00' ),
( 1030 , '10' , '2015-08-23 12:33:00.000000' , 'E119' ),
( 1031 , '5' , '2015-12-05 12:22:00.000000' , 'Z9912' ),
( 1032 , '8' , '2016-12-27 12:27:00.000000' , 'Z133' ),
( 1033 , '1' , '2016-05-01 12:12:00.000000' , 'E119' ),
( 1034 , '9' , '2015-07-06 12:26:00.000000' , 'Z133' ),
( 1035 , '3' , '2015-07-05 12:49:00.000000' , 'Z9912' ),
( 1036 , '3' , '2015-03-03 12:35:00.000000' , 'J00' ),
( 1037 , '1' , '2016-09-07 12:25:00.000000' , 'U77' ),
( 1038 , '8' , '2016-03-31 12:25:00.000000' , 'K30' ),
( 1039 , '9' , '2016-03-21 12:51:00.000000' , 'Z000' ),
( 1040 , '3' , '2015-03-11 12:38:00.000000' , 'Z480' ),
( 1041 , '2' , '2016-10-12 12:29:00.000000' , 'Z000' ),
( 1042 , '4' , '2016-08-13 12:04:00.000000' , 'E119' ),
( 1043 , '8' , '2015-11-10 12:13:00.000000' , 'E119' ),
( 1044 , '5' , '2016-07-08 12:57:00.000000' , 'Z133' ),
( 1045 , '6' , '2015-05-12 12:05:00.000000' , 'J069' ),
( 1046 , '8' , '2016-01-23 12:27:00.000000' , 'U77' ),
( 1047 , '2' , '2016-01-21 12:03:00.000000' , 'J00' ),
( 1048 , '4' , '2015-12-29 12:38:00.000000' , 'K30' ),
( 1049 , '2' , '2016-10-02 12:26:00.000000' , 'Z133' ),
( 1050 , '8' , '2015-06-07 12:40:00.000000' , 'Z000' ),
( 1051 , '10' , '2015-07-21 12:33:00.000000' , 'Z9912' ),
( 1052 , '2' , '2017-02-08 12:02:00.000000' , 'K30' ),
( 1053 , '2' , '2015-08-26 12:34:00.000000' , 'U77' ),
( 1054 , '4' , '2017-02-05 12:52:00.000000' , 'Z133' ),
( 1055 , '7' , '2016-05-07 12:07:00.000000' , 'J069' ),
( 1056 , '2' , '2016-12-20 12:57:00.000000' , 'Z480' ),
( 1057 , '5' , '2015-04-07 12:39:00.000000' , 'U77' ),
( 1058 , '6' , '2015-08-24 12:52:00.000000' , 'E119' ),
( 1059 , '6' , '2015-08-10 12:54:00.000000' , 'K30' ),
( 1060 , '5' , '2016-01-09 12:19:00.000000' , 'Z000' ),
( 1061 , '1' , '2015-05-26 12:31:00.000000' , 'K30' ),
( 1062 , '7' , '2017-02-05 12:46:00.000000' , 'J00' ),
( 1063 , '7' , '2016-12-24 12:16:00.000000' , 'Z480' ),
( 1064 , '1' , '2016-01-20 12:04:00.000000' , 'Z480' ),
( 1065 , '6' , '2016-01-06 12:38:00.000000' , 'U77' ),
( 1066 , '4' , '2015-12-19 12:56:00.000000' , 'E119' ),
( 1067 , '1' , '2016-11-29 12:37:00.000000' , 'J069' ),
( 1068 , '9' , '2015-03-26 12:36:00.000000' , 'U77' ),
( 1069 , '1' , '2016-08-17 12:01:00.000000' , 'K30' ),
( 1070 , '3' , '2016-02-26 12:42:00.000000' , 'J069' ),
( 1071 , '6' , '2016-08-23 12:17:00.000000' , 'J00' ),
( 1072 , '10' , '2016-03-19 12:54:00.000000' , 'Z9912' ),
( 1073 , '1' , '2017-02-18 12:31:00.000000' , 'Z000' ),
( 1074 , '9' , '2016-02-05 12:51:00.000000' , 'Z480' ),
( 1075 , '9' , '2015-11-14 12:30:00.000000' , 'K30' ),
( 1076 , '6' , '2015-03-23 12:34:00.000000' , 'E119' ),
( 1077 , '10' , '2015-08-26 12:11:00.000000' , 'Z9912' ),
( 1078 , '9' , '2015-05-04 12:58:00.000000' , 'Z480' ),
( 1079 , '9' , '2016-01-04 12:47:00.000000' , 'U77' ),
( 1080 , '8' , '2016-03-28 12:53:00.000000' , 'Z480' ),
( 1081 , '6' , '2016-03-21 12:05:00.000000' , 'Z480' ),
( 1082 , '6' , '2016-07-05 12:16:00.000000' , 'Z000' ),
( 1083 , '3' , '2015-06-19 12:00:00.000000' , 'Z133' ),
( 1084 , '1' , '2016-05-19 12:26:00.000000' , 'Z000' ),
( 1085 , '6' , '2015-12-15 12:05:00.000000' , 'U77' ),
( 1086 , '5' , '2015-05-31 12:28:00.000000' , 'Z9912' ),
( 1087 , '2' , '2015-05-25 12:53:00.000000' , 'K30' ),
( 1088 , '6' , '2016-11-09 12:51:00.000000' , 'J069' ),
( 1089 , '5' , '2016-07-24 12:22:00.000000' , 'J069' ),
( 1090 , '10' , '2016-12-11 12:22:00.000000' , 'J069' ),
( 1091 , '1' , '2015-09-25 12:37:00.000000' , 'J069' ),
( 1092 , '9' , '2015-06-26 12:13:00.000000' , 'Z133' ),
( 1093 , '8' , '2016-10-24 12:21:00.000000' , 'Z000' ),
( 1094 , '1' , '2017-01-25 12:07:00.000000' , 'Z00' ),
( 1095 , '5' , '2015-09-21 12:21:00.000000' , 'E119' ),
( 1096 , '6' , '2017-02-05 12:05:00.000000' , 'Z480' ),
( 1097 , '4' , '2016-05-13 12:52:00.000000' , 'Z9912' ),
( 1098 , '7' , '2016-12-08 12:38:00.000000' , 'Z000' ),
( 1099 , '6' , '2015-08-26 12:00:00.000000' , 'Z00' );
-- Indexes for table `Visit`
DROP TABLE IF EXISTS `Visit`;
CREATE TABLE IF NOT EXISTS `Visit` (
`id` mediumint(9) NOT NULL,
`HN` varchar(255) DEFAULT NULL,
`VisitDateTime` datetime(6) DEFAULT NULL,
`PDX` varchar(255) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
TRUNCATE TABLE `Visit`;
INSERT DELAYED INTO `Visit` VALUES
(1000, '10', '2015-12-28 12:03:00.000000', 'Z133'),
(1001, '10', '2016-08-01 12:21:00.000000', 'J069'),
(1002, '9', '2015-11-25 12:42:00.000000', 'K30'),
(1003, '4', '2015-07-13 12:14:00.000000', 'Z00'),
(1004, '10', '2015-12-21 12:20:00.000000', 'U77'),
(1005, '4', '2015-08-31 12:16:00.000000', 'K30'),
(1006, '3', '2016-05-26 12:16:00.000000', 'Z00'),
(1007, '10', '2015-04-29 12:10:00.000000', 'K30'),
(1008, '7', '2015-02-24 12:59:00.000000', 'J069'),
(1009, '10', '2016-06-06 12:11:00.000000', 'Z00'),
(1010, '2', '2015-04-21 12:29:00.000000', 'Z00'),
(1011, '5', '2016-02-09 12:08:00.000000', 'Z000'),
(1012, '7', '2016-07-12 12:09:00.000000', 'E119'),
(1013, '6', '2016-02-04 12:29:00.000000', 'Z480'),
(1014, '3', '2016-10-31 12:52:00.000000', 'Z133'),
(1015, '7', '2015-05-24 12:47:00.000000', 'Z133'),
(1016, '7', '2016-01-01 12:34:00.000000', 'Z000'),
(1017, '3', '2015-08-01 12:11:00.000000', 'Z133'),
(1018, '8', '2016-02-22 12:27:00.000000', 'U77'),
(1019, '6', '2015-08-29 12:54:00.000000', 'Z480'),
(1020, '1', '2016-02-28 12:43:00.000000', 'E119'),
(1021, '8', '2015-10-18 12:19:00.000000', 'Z480'),
(1022, '7', '2016-05-29 12:30:00.000000', 'Z133'),
(1023, '1', '2016-07-23 12:47:00.000000', 'J069'),
(1024, '3', '2015-12-08 12:42:00.000000', 'Z00'),
(1025, '7', '2016-12-08 12:45:00.000000', 'U77'),
(1026, '5', '2016-12-10 12:42:00.000000', 'Z480'),
(1027, '3', '2015-05-21 12:19:00.000000', 'Z480'),
(1028, '7', '2016-11-28 12:45:00.000000', 'U77'),
(1029, '7', '2015-06-27 12:16:00.000000', 'J00'),
(1030, '10', '2015-08-23 12:33:00.000000', 'E119'),
(1031, '5', '2015-12-05 12:22:00.000000', 'Z9912'),
(1032, '8', '2016-12-27 12:27:00.000000', 'Z133'),
(1033, '1', '2016-05-01 12:12:00.000000', 'E119'),
(1034, '9', '2015-07-06 12:26:00.000000', 'Z133'),
(1035, '3', '2015-07-05 12:49:00.000000', 'Z9912'),
(1036, '3', '2015-03-03 12:35:00.000000', 'J00'),
(1037, '1', '2016-09-07 12:25:00.000000', 'U77'),
(1038, '8', '2016-03-31 12:25:00.000000', 'K30'),
(1039, '9', '2016-03-21 12:51:00.000000', 'Z000'),
(1040, '3', '2015-03-11 12:38:00.000000', 'Z480'),
(1041, '2', '2016-10-12 12:29:00.000000', 'Z000'),
(1042, '4', '2016-08-13 12:04:00.000000', 'E119'),
(1043, '8', '2015-11-10 12:13:00.000000', 'E119'),
(1044, '5', '2016-07-08 12:57:00.000000', 'Z133'),
(1045, '6', '2015-05-12 12:05:00.000000', 'J069'),
(1046, '8', '2016-01-23 12:27:00.000000', 'U77'),
(1047, '2', '2016-01-21 12:03:00.000000', 'J00'),
(1048, '4', '2015-12-29 12:38:00.000000', 'K30'),
(1049, '2', '2016-10-02 12:26:00.000000', 'Z133'),
(1050, '8', '2015-06-07 12:40:00.000000', 'Z000'),
(1051, '10', '2015-07-21 12:33:00.000000', 'Z9912'),
(1052, '2', '2017-02-08 12:02:00.000000', 'K30'),
(1053, '2', '2015-08-26 12:34:00.000000', 'U77'),
(1054, '4', '2017-02-05 12:52:00.000000', 'Z133'),
(1055, '7', '2016-05-07 12:07:00.000000', 'J069'),
(1056, '2', '2016-12-20 12:57:00.000000', 'Z480'),
(1057, '5', '2015-04-07 12:39:00.000000', 'U77'),
(1058, '6', '2015-08-24 12:52:00.000000', 'E119'),
(1059, '6', '2015-08-10 12:54:00.000000', 'K30'),
(1060, '5', '2016-01-09 12:19:00.000000', 'Z000'),
(1061, '1', '2015-05-26 12:31:00.000000', 'K30'),
(1062, '7', '2017-02-05 12:46:00.000000', 'J00'),
(1063, '7', '2016-12-24 12:16:00.000000', 'Z480'),
(1064, '1', '2016-01-20 12:04:00.000000', 'Z480'),
(1065, '6', '2016-01-06 12:38:00.000000', 'U77'),
(1066, '4', '2015-12-19 12:56:00.000000', 'E119'),
(1067, '1', '2016-11-29 12:37:00.000000', 'J069'),
(1068, '9', '2015-03-26 12:36:00.000000', 'U77'),
(1069, '1', '2016-08-17 12:01:00.000000', 'K30'),
(1070, '3', '2016-02-26 12:42:00.000000', 'J069'),
(1071, '6', '2016-08-23 12:17:00.000000', 'J00'),
(1072, '10', '2016-03-19 12:54:00.000000', 'Z9912'),
(1073, '1', '2017-02-18 12:31:00.000000', 'Z000'),
(1074, '9', '2016-02-05 12:51:00.000000', 'Z480'),
(1075, '9', '2015-11-14 12:30:00.000000', 'K30'),
(1076, '6', '2015-03-23 12:34:00.000000', 'E119'),
(1077, '10', '2015-08-26 12:11:00.000000', 'Z9912'),
(1078, '9', '2015-05-04 12:58:00.000000', 'Z480'),
(1079, '9', '2016-01-04 12:47:00.000000', 'U77'),
(1080, '8', '2016-03-28 12:53:00.000000', 'Z480'),
(1081, '6', '2016-03-21 12:05:00.000000', 'Z480'),
(1082, '6', '2016-07-05 12:16:00.000000', 'Z000'),
(1083, '3', '2015-06-19 12:00:00.000000', 'Z133'),
(1084, '1', '2016-05-19 12:26:00.000000', 'Z000'),
(1085, '6', '2015-12-15 12:05:00.000000', 'U77'),
(1086, '5', '2015-05-31 12:28:00.000000', 'Z9912'),
(1087, '2', '2015-05-25 12:53:00.000000', 'K30'),
(1088, '6', '2016-11-09 12:51:00.000000', 'J069'),
(1089, '5', '2016-07-24 12:22:00.000000', 'J069'),
(1090, '10', '2016-12-11 12:22:00.000000', 'J069'),
(1091, '1', '2015-09-25 12:37:00.000000', 'J069'),
(1092, '9', '2015-06-26 12:13:00.000000', 'Z133'),
(1093, '8', '2016-10-24 12:21:00.000000', 'Z000'),
(1094, '1', '2017-01-25 12:07:00.000000', 'Z00'),
(1095, '5', '2015-09-21 12:21:00.000000', 'E119'),
(1096, '6', '2017-02-05 12:05:00.000000', 'Z480'),
(1097, '4', '2016-05-13 12:52:00.000000', 'Z9912'),
(1098, '7', '2016-12-08 12:38:00.000000', 'Z000'),
(1099, '6', '2015-08-26 12:00:00.000000', 'Z00');
--
-- Indexes for table `Visit`
--
ALTER TABLE `Visit`
ADD PRIMARY KEY (`id`);
DROP TABLE IF EXISTS `Visit`;
CREATE TABLE IF NOT EXISTS `Visit` (
`id` mediumint(9) NOT NULL,
`HN` varchar(255) DEFAULT NULL,
`VisitDateTime` datetime(6) DEFAULT NULL,
`PDX` varchar(255) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
TRUNCATE TABLE `Visit`;
INSERT DELAYED INTO `Visit` VALUES
(1000, '10', '2015-12-28 12:03:00.000000', 'Z133'),
(1001, '10', '2016-08-01 12:21:00.000000', 'J069'),
(1002, '9', '2015-11-25 12:42:00.000000', 'K30'),
(1003, '4', '2015-07-13 12:14:00.000000', 'Z00'),
(1004, '10', '2015-12-21 12:20:00.000000', 'U77'),
(1005, '4', '2015-08-31 12:16:00.000000', 'K30'),
(1006, '3', '2016-05-26 12:16:00.000000', 'Z00'),
(1007, '10', '2015-04-29 12:10:00.000000', 'K30'),
(1008, '7', '2015-02-24 12:59:00.000000', 'J069'),
(1009, '10', '2016-06-06 12:11:00.000000', 'Z00'),
(1010, '2', '2015-04-21 12:29:00.000000', 'Z00'),
(1011, '5', '2016-02-09 12:08:00.000000', 'Z000'),
(1012, '7', '2016-07-12 12:09:00.000000', 'E119'),
(1013, '6', '2016-02-04 12:29:00.000000', 'Z480'),
(1014, '3', '2016-10-31 12:52:00.000000', 'Z133'),
(1015, '7', '2015-05-24 12:47:00.000000', 'Z133'),
(1016, '7', '2016-01-01 12:34:00.000000', 'Z000'),
(1017, '3', '2015-08-01 12:11:00.000000', 'Z133'),
(1018, '8', '2016-02-22 12:27:00.000000', 'U77'),
(1019, '6', '2015-08-29 12:54:00.000000', 'Z480'),
(1020, '1', '2016-02-28 12:43:00.000000', 'E119'),
(1021, '8', '2015-10-18 12:19:00.000000', 'Z480'),
(1022, '7', '2016-05-29 12:30:00.000000', 'Z133'),
(1023, '1', '2016-07-23 12:47:00.000000', 'J069'),
(1024, '3', '2015-12-08 12:42:00.000000', 'Z00'),
(1025, '7', '2016-12-08 12:45:00.000000', 'U77'),
(1026, '5', '2016-12-10 12:42:00.000000', 'Z480'),
(1027, '3', '2015-05-21 12:19:00.000000', 'Z480'),
(1028, '7', '2016-11-28 12:45:00.000000', 'U77'),
(1029, '7', '2015-06-27 12:16:00.000000', 'J00'),
(1030, '10', '2015-08-23 12:33:00.000000', 'E119'),
(1031, '5', '2015-12-05 12:22:00.000000', 'Z9912'),
(1032, '8', '2016-12-27 12:27:00.000000', 'Z133'),
(1033, '1', '2016-05-01 12:12:00.000000', 'E119'),
(1034, '9', '2015-07-06 12:26:00.000000', 'Z133'),
(1035, '3', '2015-07-05 12:49:00.000000', 'Z9912'),
(1036, '3', '2015-03-03 12:35:00.000000', 'J00'),
(1037, '1', '2016-09-07 12:25:00.000000', 'U77'),
(1038, '8', '2016-03-31 12:25:00.000000', 'K30'),
(1039, '9', '2016-03-21 12:51:00.000000', 'Z000'),
(1040, '3', '2015-03-11 12:38:00.000000', 'Z480'),
(1041, '2', '2016-10-12 12:29:00.000000', 'Z000'),
(1042, '4', '2016-08-13 12:04:00.000000', 'E119'),
(1043, '8', '2015-11-10 12:13:00.000000', 'E119'),
(1044, '5', '2016-07-08 12:57:00.000000', 'Z133'),
(1045, '6', '2015-05-12 12:05:00.000000', 'J069'),
(1046, '8', '2016-01-23 12:27:00.000000', 'U77'),
(1047, '2', '2016-01-21 12:03:00.000000', 'J00'),
(1048, '4', '2015-12-29 12:38:00.000000', 'K30'),
(1049, '2', '2016-10-02 12:26:00.000000', 'Z133'),
(1050, '8', '2015-06-07 12:40:00.000000', 'Z000'),
(1051, '10', '2015-07-21 12:33:00.000000', 'Z9912'),
(1052, '2', '2017-02-08 12:02:00.000000', 'K30'),
(1053, '2', '2015-08-26 12:34:00.000000', 'U77'),
(1054, '4', '2017-02-05 12:52:00.000000', 'Z133'),
(1055, '7', '2016-05-07 12:07:00.000000', 'J069'),
(1056, '2', '2016-12-20 12:57:00.000000', 'Z480'),
(1057, '5', '2015-04-07 12:39:00.000000', 'U77'),
(1058, '6', '2015-08-24 12:52:00.000000', 'E119'),
(1059, '6', '2015-08-10 12:54:00.000000', 'K30'),
(1060, '5', '2016-01-09 12:19:00.000000', 'Z000'),
(1061, '1', '2015-05-26 12:31:00.000000', 'K30'),
(1062, '7', '2017-02-05 12:46:00.000000', 'J00'),
(1063, '7', '2016-12-24 12:16:00.000000', 'Z480'),
(1064, '1', '2016-01-20 12:04:00.000000', 'Z480'),
(1065, '6', '2016-01-06 12:38:00.000000', 'U77'),
(1066, '4', '2015-12-19 12:56:00.000000', 'E119'),
(1067, '1', '2016-11-29 12:37:00.000000', 'J069'),
(1068, '9', '2015-03-26 12:36:00.000000', 'U77'),
(1069, '1', '2016-08-17 12:01:00.000000', 'K30'),
(1070, '3', '2016-02-26 12:42:00.000000', 'J069'),
(1071, '6', '2016-08-23 12:17:00.000000', 'J00'),
(1072, '10', '2016-03-19 12:54:00.000000', 'Z9912'),
(1073, '1', '2017-02-18 12:31:00.000000', 'Z000'),
(1074, '9', '2016-02-05 12:51:00.000000', 'Z480'),
(1075, '9', '2015-11-14 12:30:00.000000', 'K30'),
(1076, '6', '2015-03-23 12:34:00.000000', 'E119'),
(1077, '10', '2015-08-26 12:11:00.000000', 'Z9912'),
(1078, '9', '2015-05-04 12:58:00.000000', 'Z480'),
(1079, '9', '2016-01-04 12:47:00.000000', 'U77'),
(1080, '8', '2016-03-28 12:53:00.000000', 'Z480'),
(1081, '6', '2016-03-21 12:05:00.000000', 'Z480'),
(1082, '6', '2016-07-05 12:16:00.000000', 'Z000'),
(1083, '3', '2015-06-19 12:00:00.000000', 'Z133'),
(1084, '1', '2016-05-19 12:26:00.000000', 'Z000'),
(1085, '6', '2015-12-15 12:05:00.000000', 'U77'),
(1086, '5', '2015-05-31 12:28:00.000000', 'Z9912'),
(1087, '2', '2015-05-25 12:53:00.000000', 'K30'),
(1088, '6', '2016-11-09 12:51:00.000000', 'J069'),
(1089, '5', '2016-07-24 12:22:00.000000', 'J069'),
(1090, '10', '2016-12-11 12:22:00.000000', 'J069'),
(1091, '1', '2015-09-25 12:37:00.000000', 'J069'),
(1092, '9', '2015-06-26 12:13:00.000000', 'Z133'),
(1093, '8', '2016-10-24 12:21:00.000000', 'Z000'),
(1094, '1', '2017-01-25 12:07:00.000000', 'Z00'),
(1095, '5', '2015-09-21 12:21:00.000000', 'E119'),
(1096, '6', '2017-02-05 12:05:00.000000', 'Z480'),
(1097, '4', '2016-05-13 12:52:00.000000', 'Z9912'),
(1098, '7', '2016-12-08 12:38:00.000000', 'Z000'),
(1099, '6', '2015-08-26 12:00:00.000000', 'Z00');
--
-- Indexes for table `Visit`
--
ALTER TABLE `Visit`
ADD PRIMARY KEY (`id`);
ข้อมูล Re-Visit ในที่นี้หมายถึงมีการเข้ามารักษาซ้ำ (ในโรคเดิม) เช่น
+------+------+----------------------------+-------+
| id | HN | VisitDateTime | PDX |
+------+------+----------------------------+-------+
| 1033 | 1 | 2016 - 05 - 01 12 : 12 : 00.000000 | E119 |
| 1020 | 1 | 2016 - 02 - 28 12 : 43 : 00.000000 | E119 |
| 1067 | 1 | 2016 - 11 - 29 12 : 37 : 00.000000 | J069 |
| 1023 | 1 | 2016 - 07 - 23 12 : 47 : 00.000000 | J069 |
| 1091 | 1 | 2015 - 09 - 25 12 : 37 : 00.000000 | J069 |
| 1069 | 1 | 2016 - 08 - 17 12 : 01 : 00.000000 | K30 |
| 1061 | 1 | 2015 - 05 - 26 12 : 31 : 00.000000 | K30 |
| 1037 | 1 | 2016 - 09 - 07 12 : 25 : 00.000000 | U77 |
+------+------+----------------------------+-------+
| id | HN | VisitDateTime | PDX |
+------+------+----------------------------+-------+
| 1033 | 1 | 2016-05-01 12:12:00.000000 | E119 |
| 1020 | 1 | 2016-02-28 12:43:00.000000 | E119 |
| 1067 | 1 | 2016-11-29 12:37:00.000000 | J069 |
| 1023 | 1 | 2016-07-23 12:47:00.000000 | J069 |
| 1091 | 1 | 2015-09-25 12:37:00.000000 | J069 |
| 1069 | 1 | 2016-08-17 12:01:00.000000 | K30 |
| 1061 | 1 | 2015-05-26 12:31:00.000000 | K30 |
| 1037 | 1 | 2016-09-07 12:25:00.000000 | U77 |
+------+------+----------------------------+-------+
| id | HN | VisitDateTime | PDX |
+------+------+----------------------------+-------+
| 1033 | 1 | 2016-05-01 12:12:00.000000 | E119 |
| 1020 | 1 | 2016-02-28 12:43:00.000000 | E119 |
| 1067 | 1 | 2016-11-29 12:37:00.000000 | J069 |
| 1023 | 1 | 2016-07-23 12:47:00.000000 | J069 |
| 1091 | 1 | 2015-09-25 12:37:00.000000 | J069 |
| 1069 | 1 | 2016-08-17 12:01:00.000000 | K30 |
| 1061 | 1 | 2015-05-26 12:31:00.000000 | K30 |
| 1037 | 1 | 2016-09-07 12:25:00.000000 | U77 |
จะเห็นว่า อีตา HN=1 มารักษาหลายครั้งและบางครั้งที่มาก็ถูกวินิจฉัยด้วยโรคเดิม ๆ ที่เคยมา บางครั้งก็ไม่ซ้ำ แต่เราสนใจตัวที่ซ้ำหล่ะกัน ตามโจทย์ที่ว่า “Re-Visit โรค XX ภายใน YY ชั่วโมง/วัน นะ” วิธีการก็คือ เราจะใช้การ JOIN ตัวมันเองออกมาเพื่อหาความต่าง ส่วนฟังก์ชั่น TIMESTAMPDIFF ก็หาความต่างของสองช่วงเวลาในหน่วยที่กำหนด ลองหาอ่านเพิ่มเติมนะครับ
TIMESTAMPDIFF ( DAY , A .VisitDateTime, V .VisitDateTime) AS DayOfReVisit
LEFT JOIN Visit V ON A . HN = V . HN AND A . PDX = V . PDX
WHERE A .VisitDateTime > V .VisitDateTime
SELECT
A.*,
V.*,
TIMESTAMPDIFF(DAY, A.VisitDateTime, V.VisitDateTime) AS DayOfReVisit
FROM Visit A
LEFT JOIN Visit V ON A.HN = V.HN AND A.PDX = V.PDX
WHERE A.VisitDateTime > V.VisitDateTime
ORDER BY A.HN;
SELECT
A.*,
V.*,
TIMESTAMPDIFF(DAY, A.VisitDateTime, V.VisitDateTime) AS DayOfReVisit
FROM Visit A
LEFT JOIN Visit V ON A.HN = V.HN AND A.PDX = V.PDX
WHERE A.VisitDateTime > V.VisitDateTime
ORDER BY A.HN;
ผลลัพธ์ก็จะประมาณนี้
นี่ก็แค่หนึ่งในหลาย ๆ วิธี ขอให้สนุกกับการดูข้อมูล ฮ่าาาาา
ปล. ไปรอฟังเพลงรักอยู่รอบกายด้วยกัน
VIDEO