select id, user, keyword, datetime from table1 group by keyword order by datetime desc 这样取出来不行,因为order by 的时候相同的keyword记录已经被去掉了select id, user, keyword, max(datetime) from table1 group by keyword order by datetime desc 这样只能取到时间,取不到最新的user,哪位高人指点一下啊
id user keyword datetime 01 s1 k1 05-12-12 02 s2 k2 05-12-11 03 s3 k2 05-12-13 04 s4 k3 05-12-10我希望group以后得到的结果是 id user keyword datetime 03 s3 k2 05-12-13 01 s1 k1 05-12-12 04 s4 k3 05-12-10
SELECT * FROM t_temp t WHERE (NOT EXISTS (SELECT id FROM t_temp AS w WHERE t.t_keyword = w.t_keyword AND w.t_date > t.t_date)) ORDER BY t_date DESC
TRY: Select * From [Table] Where id in (Select Max(id) From [Table] Group by keyword)
id in 的效率好像不怎么好,还有其他办法吗
最郁闷的是mysql版本太老3.23,好象不支持嵌套查询-_-"
select * from t_table where NOT EXISTS (select * from t_table where id=1)这句话为什么报错???
user是提交的用户,keyword可以重复,datetime是提交的时间
id是自动增长的字段
这样取出来不行,因为order by 的时候相同的keyword记录已经被去掉了select id, user, keyword, max(datetime) from table1 group by keyword order by datetime desc
这样只能取到时间,取不到最新的user,哪位高人指点一下啊
01 s1 k1 05-12-12
02 s2 k2 05-12-11
03 s3 k2 05-12-13
04 s4 k3 05-12-10我希望group以后得到的结果是
id user keyword datetime
03 s3 k2 05-12-13
01 s1 k1 05-12-12
04 s4 k3 05-12-10
FROM t_temp t
WHERE (NOT EXISTS
(SELECT id
FROM t_temp AS w
WHERE t.t_keyword = w.t_keyword AND w.t_date > t.t_date))
ORDER BY t_date DESC
Select * From [Table] Where id in (Select Max(id) From [Table] Group by keyword)