需求:有三张表,取出三个值,分别为vTitle,lesson,cDate。我需要的对题目(vTitle)进行分组,
对时间(cDate)进行最新的查询。我自己写的sql如下
//查询观看历史记录
$uc=$_SESSION['login'];
$sql = "select v.iId, v.iNo, v.vTitle, l.vTitle as lesson, h.cDate from user_video_history h"." join biz_video v on h.iVideoId=v.iId join biz_lesson l on v.iLessonId=l.iId"." where h.vUserCode='".$uc."' group by vTitle order by cDate desc limit 0, 20";
我实现的效果,对题目进行了分组,但是时间却不是最近的时间。这个功能是查询视频观看记录。我的表如下
对时间(cDate)进行最新的查询。我自己写的sql如下
//查询观看历史记录
$uc=$_SESSION['login'];
$sql = "select v.iId, v.iNo, v.vTitle, l.vTitle as lesson, h.cDate from user_video_history h"." join biz_video v on h.iVideoId=v.iId join biz_lesson l on v.iLessonId=l.iId"." where h.vUserCode='".$uc."' group by vTitle order by cDate desc limit 0, 20";
我实现的效果,对题目进行了分组,但是时间却不是最近的时间。这个功能是查询视频观看记录。我的表如下
参考一下这个贴子的提问方式http://bbs.csdn.net/topics/320211382
1. 你的 create table xxx .. 语句
2. 你的 insert into xxx ... 语句
3. 结果是什么样,(并给以简单的算法描述)
4. 你用的数据库名称和版本(经常有人在MS SQL server版问 MySQL)
这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试,避免文字描述理解上的误差。
CREATE TABLE IF NOT EXISTS `user_video_history` (
`vUserCode` varchar(32) NOT NULL,
`iVideoId` int(10) unsigned NOT NULL,
`cDate` char(19) NOT NULL DEFAULT '',
PRIMARY KEY (`vUserCode`,`iVideoId`,`cDate`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC;CREATE TABLE IF NOT EXISTS `biz_lesson` (
`iId` int(10) unsigned NOT NULL AUTO_INCREMENT,
`vDomain` varchar(32) NOT NULL,
`vCatalog` varchar(32) NOT NULL,
`vLecturer` varchar(32) NOT NULL DEFAULT 'microoh',
`vTitle` varchar(128) NOT NULL,
`murl` varchar(255) DEFAULT NULL COMMENT '背景图片',
`vadsurl` varchar(255) DEFAULT NULL COMMENT '宣传图URL',
`vKeywords` varchar(255) NOT NULL DEFAULT '',
`iCredit` int(10) unsigned NOT NULL DEFAULT '0',
`vDesc` varchar(255) NOT NULL DEFAULT '',
`vMemo` varchar(255) NOT NULL DEFAULT '',
`vRelated` varchar(255) NOT NULL DEFAULT '',
`cDate` char(19) NOT NULL DEFAULT '',
`iNo` int(10) unsigned NOT NULL DEFAULT '0',
`tType` tinyint(3) unsigned NOT NULL DEFAULT '0' COMMENT '0:点播,1:讲座',
`iVideoCt` int(11) NOT NULL DEFAULT '0',
`iHours` int(10) unsigned NOT NULL DEFAULT '0',
`vForPpl` varchar(128) NOT NULL DEFAULT '',
`vDocUrl` varchar(255) NOT NULL,
`vDesc2` varchar(255) NOT NULL DEFAULT '',
`recommend` int(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`iId`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC AUTO_INCREMENT=26 ;CREATE TABLE IF NOT EXISTS `biz_video` (
`iId` int(10) unsigned NOT NULL AUTO_INCREMENT,
`vCode` varchar(32) DEFAULT NULL,
`iLessonId` int(11) NOT NULL,
`vTitle` varchar(32) NOT NULL,
`tType` tinyint(4) NOT NULL DEFAULT '0' COMMENT '0:点播1:讲座',
`iCredit` int(11) NOT NULL DEFAULT '0',
`vDesc` varchar(255) NOT NULL DEFAULT '',
`vMemo` varchar(255) NOT NULL DEFAULT '',
`vUrl` varchar(255) NOT NULL DEFAULT '',
`tPeriod` tinyint(3) unsigned NOT NULL DEFAULT '0',
`iNo` int(10) unsigned DEFAULT '0',
`cDate` char(19) DEFAULT NULL,
`vLecturer` varchar(32) NOT NULL,
`vKeywords` varchar(255) NOT NULL DEFAULT '',
`iTime` int(10) unsigned NOT NULL DEFAULT '0',
`vDesc2` varchar(255) NOT NULL DEFAULT '',
`vrecommend` int(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`iId`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC AUTO_INCREMENT=330 ;
3. 结果是什么样,(并给以简单的算法描述)