av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

MySQL 查詢疑問?

瀏覽:149日期:2022-06-15 11:12:39

問題描述

現(xiàn)在有一下三張表:

A:文章表B:評(píng)論表C:用戶表

需要達(dá)到一下要求:

隨機(jī)抽出三篇文章,要求輸出內(nèi)容中包括文章的發(fā)表用戶,發(fā)表時(shí)間,文章標(biāo)題,評(píng)論數(shù)量

已知:

文章標(biāo)題,發(fā)表時(shí)間字段為:title,create_time,在文章表topic_list中,表中uid為public_user的id發(fā)表用戶,字段為nickname,在用戶表public_user中評(píng)論表為:topic_comment,其中tid為topic_list的id

需要用一個(gè)sql語(yǔ)句來(lái)完成,下面是我寫出的,除了評(píng)論數(shù)量意外,都完成了:

select tl.id,tl.title,tl.create_time,pu.nickname from topic_list as tl left join public_user as pu on tl.uid=pu.id where tid=$tid order by rand() limit 3

想問下各位大神,怎么在這段sql的基礎(chǔ)上,達(dá)到查詢結(jié)果中有每篇文章的評(píng)論數(shù)量結(jié)果?

問題解答

回答1:

不建議在SQL中rand,可以先random好id(不過你可能不知道id的范圍=w=)

知道tid的情況下,可以用下面的SQL一句完成,你也可以按自己需要再修改~

SELECT `t`.`title`, `t`.`create_time`, `u`.`nickname`, COUNT(`c`.`id`)FROM `topic_list` AS `t`LEFT JOIN `public_user` AS `u` ON `t`.`uid`=`u`.`id`LEFT JOIN `topic_comment` AS `c` ON `c`.`tid`=`t`.`id`WHERE `t`.`id` IN ($tid1, $tid2, $tid3)GROUP BY `t`.`id`;回答2:

連接評(píng)論表 根據(jù)文章id分組 計(jì)算條數(shù)就行了

回答3:

為什么要基于一句sql?如果一句是為了少寫代碼,無(wú)可厚非;如果是一句為了性能,na那么這種 sql 既難維護(hù)、難理解而且也沒有所謂的性能提升,極力推薦使用主鍵查詢。很簡(jiǎn)單,先把文章隨機(jī)出來(lái),其他的表用索引或者主鍵會(huì)更快:`$rand = random(1, 100) / 100;$sql = ’SELECT FROM table WHERE id >= (SELECT FLOOR( MAX(id) ’.$rand.’) FROM table ) ORDER BY id LIMIT 1;’;`

回答4:

select tl.id,tl.title,tl.create_time,pu.nickname,count(tb.comment) from topic_list as t1 join public_user as pu on tl.uid=pu.id join topic_comment as tb on t1.id = tb.tidwhere tid=$tid order by rand() limit 3

相關(guān)文章:
主站蜘蛛池模板: 男女无遮挡xx00动态图120秒 | 久久在线视频 | 欧美激情小视频 | 国产性猛交96 | 国产欧美精品一区二区 | 五月天.com | 一区二区三区不卡视频 | 久久国产精 | 日韩中文在线视频 | 在线黄色网 | 亚洲黄色小视频 | 中文字幕在线观看第一页 | 长河落日| 伊人久久国产 | 免费一级片 | 亚洲小说欧美激情另类 | 亚洲看片| 久久天堂网| av网站在线免费观看 | 亚洲综合视频在线 | 天堂网av在线 | 成人一级黄色片 | 香蕉视频一区二区三区 | 青青草视频免费在线观看 | 毛片网站在线播放 | 亚洲综合视频在线 | 亚洲免费一区二区 | 久热在线视频 | 视频一区二区在线播放 | 久久网页 | 一级黄色录像带 | 久久99深爱久久99精品 | 欧美日韩中文在线 | 日韩av免费在线播放 | 亚洲精品小视频 | 天天看天天干 | 超碰com| 18视频在线观看男男 | 亚洲免费二区 | av在线免费播放 | 国产日韩精品视频 |