亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

更多QQ空间微信QQ好友腾讯朋友复制链接
您的位置:首頁/技術文章
文章詳情頁

MySQL 查詢疑問?

【字号: 作者:豬豬瀏覽:95日期:2022-06-15 11:12:39

問題描述

現在有一下三張表:

A:文章表B:評論表C:用戶表

需要達到一下要求:

隨機抽出三篇文章,要求輸出內容中包括文章的發表用戶,發表時間,文章標題,評論數量

已知:

文章標題,發表時間字段為:title,create_time,在文章表topic_list中,表中uid為public_user的id發表用戶,字段為nickname,在用戶表public_user中評論表為:topic_comment,其中tid為topic_list的id

需要用一個sql語句來完成,下面是我寫出的,除了評論數量意外,都完成了:

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的基礎上,達到查詢結果中有每篇文章的評論數量結果?

問題解答

回答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:

連接評論表 根據文章id分組 計算條數就行了

回答3:

為什么要基于一句sql?如果一句是為了少寫代碼,無可厚非;如果是一句為了性能,na那么這種 sql 既難維護、難理解而且也沒有所謂的性能提升,極力推薦使用主鍵查詢。很簡單,先把文章隨機出來,其他的表用索引或者主鍵會更快:`$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

相關文章:
主站蜘蛛池模板: 国产在线观看91精品2021 | 97视频精品全国在线观看 | 亚洲一区二区影院 | 中日欧洲精品视频在线 | 亚洲一区二区三区高清不卡 | 91亚洲区国产区精品区 | 最近最新中文字幕在线第一页 | 国产视频自拍偷拍 | 欧美不卡网| 久草在线精品 | va免费视频 | 在线观看福利视频在线观看 | www黄色大片| 欧美在线一区视频 | 中文字幕在线视频不卡 | xxxxx性视频免费播放 | 国产精品美女免费视频大全 | 国产精品日本不卡一区二区 | 亚洲一区二区中文 | 亚洲一级黄色毛片 | 狠狠色丁香久久综合婷婷 | 一级特黄色片 | 中文字幕在线视频播放 | 欧美综合亚洲图片综合区 | 韩国一级黄色大片 | 波多久久夜色精品国产 | 天天影视色香欲综合网老头 | a级黄色毛片视频 | 久久精品美女久久 | 国产一区二区三区高清 | 国产精品综合久成人 | 色综合手机在线 | 亚洲国产精品视频 | 国产三级a三级三级野外 | 国产美女一级做受在线观看 | 在线观看日韩视频 | 国产一级爱做片免费观看 | 久久久久久网站 | 国产尤物福利视频一区二区 | 久久精品免视看国产成人2021 | 亚洲国产精品一区 |