作者andreli (大学生)
看板Database
标题[SQL ] GROUP BY
时间Thu Aug 10 02:31:03 2006
标题想了很久不知道要怎麽样下,原谅我吧。
最近在写程式,使用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))
结果还是不行,资料库里的语法优先顺序是什麽呢?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.136.166.100
※ 编辑: andreli 来自: 220.136.166.100 (08/10 13:48)
1F:推 chgc:依时间排序, 然後只取前三笔....就会看到你想要的东西 08/10 21:30
2F:推 andreli:只取前三笔的意思是我要LIMIT DISTINCT(group_num)吗? 08/11 15:06