Re: [SQL ] GROUP BY

看板Database (資料庫)作者 (阿哥哥~)時間18年前 (2006/08/12 05:37), 編輯推噓0(001)
留言1則, 1人參與, 最新討論串2/2 (看更多)
※ 引述《andreli (大學生)》之銘言: : 標題想了很久不知道要怎麼樣下,原諒我吧。 : 最近在寫程式,使用PHP+MySQL,有資料如下: : name group_num date : A 1 20050410 : B 2 20060606 : C 2 20050312 : D 3 20030424 : E 3 20061211 : F 3 20051123 : group_num就是分組的組別, : 但是我每個組別只想要取出時間離現在最近的那筆資料, : 取出的資料希望是: : name group_num date : A 1 20050410 : B 2 20060606 : E 3 20061211 : 我是這麼寫的: : SELECT DISTINCT(group_num),name FROM tbl GROUP BY group_num : ORDER BY group_num ASC,date DESC : 但是有時候取出來的樣子並不是我想要的, : 就是取出的那筆資料不會是時間離現在最近的,不知道該怎麼寫呢? : 謝謝各位前輩指導。 : PS. : 爬了前面的文章還有PHP版裡的文章, : 我在SELECT中多增加了MAX(UNIX_TIMESTAMP(time)) : 結果還是不行,資料庫裡的語法優先順序是什麼呢? 抱歉 , 我講的可能是錯的 , 但還是說一下我的想法 DISTINCT 指的是把相同的name 去掉 , 這樣資料庫取得 data是為第一筆,且你沒限定其它條件,所以你有時候日期並不會是最近的 再者,你將group_num作 GROUP, 何不再多設一個條件進去GROUP,date必須為最大值 ,不曉得對不對... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.104.164.213 ※ 編輯: agogoman 來自: 59.104.164.213 (08/12 05:44)

08/13 03:13, , 1F
多取一個MAX的日期,並加上HAVING的條件即可
08/13 03:13, 1F
文章代碼(AID): #14tFYkef (Database)
討論串 (同標題文章)
本文引述了以下文章的的內容:
2
2
18年前, 08/10
完整討論串 (本文為第 2 之 2 篇):
2
2
18年前, 08/10
0
1
文章代碼(AID): #14tFYkef (Database)