SQL查询,在每个组中选择最近的5个
发布时间:2020-05-28 13:53:12 所属栏目:MsSql 来源:互联网
导读:我有这张桌子 CREATE TABLE `codes` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `language_id` int(11) unsigned NOT NULL, `title` varchar(60) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL, `time_posted
|
我有这张桌子 CREATE TABLE `codes` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT,`language_id` int(11) unsigned NOT NULL,`title` varchar(60) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,`time_posted` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 language_id指的是记录所使用的语言. 我必须得到一本关于SQL的书,哈哈. 谢谢. 解决方法以下是我在MySQL中解决这种“每组前N个”类型查询的方法:SELECT c1.* FROM codes c1 LEFT OUTER JOIN codes c2 ON (c1.language_id = c2.language_id AND c1.time_posted < c2.time_posted) GROUP BY c1.id HAVING COUNT(*) < 5; 另见“How do I select multiple items from each group in a mysql query?” (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
热点阅读
