Re: [SQL ] GROUP BY
※ 引述《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
08/13 03:13, 1F
討論串 (同標題文章)
Database 近期熱門文章
PTT數位生活區 即時熱門文章
0
18