查询在MYSQL中工作,但在MYSQL中不工作
我的查询在MYSQL中工作,但在MYSQLI中不工作 我正在挑选做过前后测试的学生查询在MYSQL中工作,但在MYSQL中不工作,mysql,mysqli,Mysql,Mysqli,我的查询在MYSQL中工作,但在MYSQLI中不工作 我正在挑选做过前后测试的学生 SELECT studid as Username, prepoints as 'Fitness Assessment Points Grade', end AS 'End-of-Line Indicator' FROM fittest, points WHERE YEAR(submitted) = '2017' AND semester = 'summer2' G
SELECT
studid as Username,
prepoints as 'Fitness Assessment Points Grade',
end AS 'End-of-Line Indicator'
FROM
fittest, points
WHERE
YEAR(submitted) = '2017'
AND semester = 'summer2'
GROUP BY studid
HAVING
(MAX(prepost = 'pre' ) + MAX(prepost = 'post')) = 2 AND COUNT(DISTINCT prepost) = 2
你知道需要做什么改变才能让它重新工作吗
以下是一些示例数据:
CREATE TABLE `fittest` ( `id` int(11) NOT NULL, `submitted`
datetime DEFAULT NULL, `studid` varchar(100) DEFAULT NULL,
`semester` varchar(50) DEFAULT NULL, `instructor` varchar(30)
DEFAULT NULL, `course` enum('PHED 1164') DEFAULT NULL, `section`
enum('5001','5003','5005','5007','5009','5011','5013','5015','5017','5019','5021','5023','5025','5027','5029','5031','5033','5035','5037','5039','5041','5043','5045','5047','5049','5051','5053','5055','5057','5059','5061','5063','5065','5067','5069')
DEFAULT NULL, `age` varchar(50) DEFAULT NULL, `gender`
enum('m','f') DEFAULT NULL, `ethnicity` enum('Hispanic','African
American','Asian','White-Non Hispanic','Other') DEFAULT NULL,
`height` char(4) DEFAULT NULL, `weight` int(3) DEFAULT NULL,
`flexibility` int(2) DEFAULT NULL, `crunches` int(3) DEFAULT NULL,
`pushups` int(3) DEFAULT NULL, `treadtimemin` int(2) DEFAULT NULL,
`treadtimesec` int(2) NOT NULL, `treadhr` int(3) DEFAULT NULL,
`prepost` enum('pre','post') NOT NULL, `end` char(1) NOT NULL
DEFAULT '#' ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
INSERT INTO `fittest` (`id`, `submitted`, `studid`, `semester`,
`instructor`, `course`, `section`, `age`, `gender`, `ethnicity`,
`height`, `weight`, `flexibility`, `crunches`, `pushups`,
`treadtimemin`, `treadtimesec`, `treadhr`, `prepost`, `end`) VALUES
(17, '2017-01-02 21:55:33', 'slacker', 'spring', 'Tim', 'PHED 1164',
'5001', '32', 'm', NULL, '69.5', 155, NULL, 29, 34, 22, 15, 76, 'pre',
'#'), (16, '2017-01-02 21:31:34', 'bfun', 'spring', 'Tim', 'PHED
1164', '5001', '32', 'm', NULL, '69.5', 122, NULL, 37, 36, 18, 14, 76,
'post', '#'), (15, '2017-01-02 21:31:09', 'bfun', 'spring', 'Tim',
'PHED 1164', '5001', '32', 'm', NULL, '69.5', 129, NULL, 21, 20, 23,
14, 76, 'pre', '#'),
我刚发现问题不在查询上。这是有输入的。所有输入都有post作为prepost值,因此没有显示任何结果。谢谢你的帮助。如果你的高度字段是
CHAR(4)
我真的很担心。是否包含6'2之类的值“
?一般来说,最好用一个单位来表达某种东西,比如英寸或毫米。另外,尽量避免在新应用程序中使用MyISAM,InnoDB的性能要好得多。mysqli
只是MySQL的一个接口,与PDO一样。现在还不清楚这里出了什么问题,你还没有解释什么,如果你有任何错误的话。“不工作”是您可能给出的最不有用的诊断之一。高度包含“69.5”等英寸值。我刚刚发现问题不在于查询。这是有输入的。所有输入都有post作为prepost值,因此没有显示任何结果。谢谢你的帮助。很好的提示,谢谢!