说明一下在我实际的查询情况SELECT ID, PublishTime FROM news WHERE BigClassID=132 LIMIT 0,30 结果为: ID PublishTime 73 2005-12-26 12:00:46 74 2005-12-26 13:36:30 75 2005-12-26 13:37:13 80 2005-12-26 13:41:11 说明132类别的信息编号为80的比73的新用:SELECT ID,BigClassID,PublishTime FROM news WHERE BigClassID IN ( 3, 21, 132, 12, 16 ) GROUP BY BigClassID ORDER BY PublishTime DESC LIMIT 0,30;查询结果: ID BigClassID PublishTime 84 16 2006-03-31 14:10:29 52 21 2006-03-02 14:11:03 9 3 2005-12-29 20:59:21 81 12 2005-12-26 13:44:33 73 132 2005-12-26 12:00:46 说明132类别的取出来的是73而不是80这条信息。
数据库什么版本? 以下效率很低,仅仅抛一下砖。 select * from (select * from data_news order by PostTime desc) a group by BigClass
谢谢,好像是对了,比我之前用的:SELECT * FROM news a WHERE PostTime= ( SELECT PostTime FROM news b WHERE a.BigClass = b.BigClass ORDER BY PostTime DESC,ID desc LIMIT 1 ) LIMIT 5感觉要好,我先多试试
结果为:
ID PublishTime
73 2005-12-26 12:00:46
74 2005-12-26 13:36:30
75 2005-12-26 13:37:13
80 2005-12-26 13:41:11 说明132类别的信息编号为80的比73的新用:SELECT ID,BigClassID,PublishTime FROM news
WHERE BigClassID IN ( 3, 21, 132, 12, 16 )
GROUP BY BigClassID
ORDER BY PublishTime DESC
LIMIT 0,30;查询结果:
ID BigClassID PublishTime
84 16 2006-03-31 14:10:29
52 21 2006-03-02 14:11:03
9 3 2005-12-29 20:59:21
81 12 2005-12-26 13:44:33
73 132 2005-12-26 12:00:46 说明132类别的取出来的是73而不是80这条信息。
以下效率很低,仅仅抛一下砖。
select * from (select * from data_news order by PostTime desc) a group by BigClass
SELECT PostTime FROM news b WHERE a.BigClass = b.BigClass ORDER BY PostTime DESC,ID desc LIMIT 1
) LIMIT 5感觉要好,我先多试试