sql如何寫
CREATE TABLE `topic` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`title` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB;
CREATE TABLE `comment` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`topicId` int(11) DEFAULT NULL,
`comment` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB;
INSERT INTO `topic` VALUES ('1', '話題1');
INSERT INTO `topic` VALUES ('2', '話題2');
INSERT INTO `comment` VALUES ('1', '1', 't1c1');
INSERT INTO `comment` VALUES ('2', '1', 't1c2');
INSERT INTO `comment` VALUES ('3', '2', 't2c1');
INSERT INTO `comment` VALUES ('4', '2', 't2c2');
INSERT INTO `comment` VALUES ('5', '2', 't2c3');
uj5u.com熱心網友回復:
參考下貼中的多種方法http://blog.csdn.net/acmain_chm/article/details/4126306
[征集]分組取最大N條記錄方法征集,及散分....
uj5u.com熱心網友回復:
select * from (
SELECT
tmp.id,
tmp.commentId,
@aid:=tmp.id as aid,
if(@aid=tmp.id,@rank:=@rank+1,@rank:=1) as rank
FROM
(
SELECT
a.id,
b.id commentId
FROM
topic a
LEFT JOIN `comment` b ON a.id = b.topicId
ORDER BY b.id
) tmp,
(SELECT @aid:= null , @rank:=0) t
) f where f.rank <=2
uj5u.com熱心網友回復:
高級查詢 SELECThttp://www.verejava.com/?id=1717413210274
uj5u.com熱心網友回復:
select * from(select * from topic limit 0,n) a --取符合記錄的前幾條
left join comment b on a.id=b.topicId
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/85481.html
標籤:MySQL
下一篇:sql分組問題取值問題
