2011-10-09 73 views
0

计数我有一个表这个数据称为消息(ID,类别,用户)返回最后一个ID和id

1 1 aaa 
2 2 aaa 
3 3 aaa 
4 1 bbb 
5 2 aaa 
6 1 ccc 
7 2 aaa 
8 3 ddd 

我想只返回一行,与数量(在示例中为)和该类别的最后一个id(在示例中为)。

我该如何处理MySql查询?

+0

随着COUNT和MAX :) –

+0

如果你真的想要得到实际的行数,不要使用计数。此外,如果您的某个ID被删除,Count不能给你一个错误的值。相反,你必须使用一个新的变量。但问题在于你如何真正实现这一点。如果它通过像mysql_query()这样的PHP函数,则不能在查询中使用多个SQL语句。所以首先你需要说明你将如何实现这一点。 – itsols

+1

“另外,如果你的一个ID被删除,Count不能给你一个错误的值”?什么?你能举一个这个“bug”的例子吗? – markzzz

回答

4
select count(*), max(id) from mytab where category = 1 
2
SELECT category, COUNT(category) AS counter, MAX(id) AS max FROM messages 
GROUP BY category 
+0

这不返回最后一个ID ... – markzzz

+0

什么是返回?最大 –

0
SELECT COUNT(id), MAX(id) FROM tblName 
WHERE category = 1 
GROUP BY category