2019-02-25
閱讀量:
875
SQL分組排序、隨機(jī)問(wèn)題?
問(wèn)題描述:
有一個(gè)帖子的回復(fù)表,
posts(id , tid , subject ,message ,dateline),
其中:id為自動(dòng)增長(zhǎng)字段,tid為該回復(fù)的主體帖子的id(外鍵關(guān)聯(lián)),subject為回復(fù)標(biāo)題,message為回復(fù)內(nèi)容,dateline為回復(fù)時(shí)間,用UNIX時(shí)間戳表示。
請(qǐng)寫(xiě)SQL,
- 選出按時(shí)間排序的前十個(gè)來(lái)自不同主題的最新回復(fù);
- 隨機(jī)選一條回復(fù)記錄;
解決方法:
select t2.* from (select tid,max(dateline) maxDateline from posts group by tid order by maxDateline desc limit 10)t1 inner join posts t2 on t1.tid=t2.tid and t1.maxDateline=t2.dateline;
SELECT * FROM posts WHERE id >= ((SELECT MAX(id) FROM posts)-(SELECT MIN(id) FROM posts)) * RAND() + (SELECT MIN(id) FROM posts) LIMIT 1;






評(píng)論(0)


暫無(wú)數(shù)據(jù)
CDA考試動(dòng)態(tài)
CDA報(bào)考指南
推薦帖子
0條評(píng)論
0條評(píng)論
0條評(píng)論
0條評(píng)論