mysql多表查詢及其 group by 組內排序

來源:互聯網
上載者:User

標籤:

 

//多表查詢:得到最新的資料後再執行多表查詢

SELECT *FROM `students` `st` RIGHT JOIN( SELECT * FROM
  (
    SELECT * FROM goutong WHERE goutongs=‘asdf‘ ORDER BY time DESC
  ) AS gtt GROUP BY gtt.name_id ORDER BY gtt.goutong_time DESC ) gt
  ON `gt`.`name_id`=`st`.`id` LIMIT 10

 

//先按時間排序查詢,然後分組(GROUP BY ) 
SELECT * FROM   (    SELECT * FROM goutong WHERE goutongs=‘asdf‘ ORDER BY time DESC  ) AS gtt GROUP BY gtt.name_id ORDER BY gtt.time DESC

 

 

參考:http://blog.csdn.net/shellching/article/details/8292338

有資料表 comments
------------------------------------------------
| id | newsID | comment | theTime |
------------------------------------------------
| 1  |        1      |         aaa    |     11       |
------------------------------------------------
| 2  |        1      |         bbb    |     12       |
------------------------------------------------
| 3  |        2      |         ccc     |     12       |

------------------------------------------------

newsID是新聞ID,每條新聞有多條評論comment,theTime是發表評論的時間

現在想要查看每條新聞的最新一條評論:


select * from comments group by newsID 顯然不行


select * from comments group by newsID order by theTime desc是組外排序,也不行


下面有兩種方法可以實現:

(1)
selet tt.id,tt.newsID,tt.comment,tt.theTime from(  
select id,newsID,comment,theTime from comments order by theTime desc) as tt group by newsID 


(2)
select id,newsID,comment,theTime from comments as tt group by id,newsID,comment,theTime having
 theTime=(select max(theTime) from comments where newsID=tt.newsID)

mysql多表查詢及其 group by 組內排序

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.