我在遍地搜索,但似乎无法得到正确的方式措辞我的问题得到我想要的结果(我敢肯定它是真的很容易,但我一直在拍打我的头靠在它的年龄)MySQL SELECT COUNT()然后ORDER BY date
我有以下查询:
SELECT co.title, co.content, co.id, bu.backupDate, bu.backupBy, COUNT(bu.id) AS totalBackups
FROM content co, wol_content_backup bu
WHERE co.car_model = '6-110'
AND co.subcategory = 'introduction'
ORDER BY bu.backupDate DESC
内容有一篇文章的内容,并wol_content_backup包含了文章的备份。 bu.backupDate是一个包含备份日期的DATETIME字段。
我想要的是返回上次备份的日期(bu.backupDate)(通常有几个,因为我的大多数管理员都训练有素,在修改文章之前按下“备份”按钮!)和还有数据库备份的数量(COUNT(bu.id)AS totalBackups)
但是,我的查询当前只是返回一个结果,这是第一个备份(不是最新的)所有我想要的从具有最近对应备份日期的内容中选择行。查询工作正常,没有COUNT(bu.id),所以我猜这是问题,但不知道如何解决它...
任何帮助将非常感激!
圣诞节快乐!
编辑
感谢您的所有帮助家伙!我尝试了所有的建议(并学习了大量的新东西!)
你们都提醒我关于MAX()函数,最终导致下面的函数查询:
SELECT co.title, co.content, co.id, MAX(bu.backupDate) AS backupDate, bu.backupBy, COUNT(bu.id) AS totalBackups
FROM content co, wol_content_backup bu
WHERE co.car_model = '6-110'
AND co.subcategory = 'introduction'
哪个输出正是我想要的!
非常感谢圣诞节当天帮助编码器遇险! :)
勒布
什么id字段在每个表中?是co.id = bu.id或者bu中是否有另一个id字段,表示特定备份的内容ID? – TetonSig 2011-12-25 21:53:11
co.id = bu.articleID(有一个bu.id,但它只是一个索引,与co.id无关) – 2011-12-25 21:55:21
coralated子查询和max应该做的伎俩。或最大的子查询(但它会更慢)[这](http://stackoverflow.com/questions/1368331/show-only-most-recent-date-from-joined-mysql-table)给你一个想法怎么样。接受的答案使用较慢的方法,有第二个例子显示相关的子查询。 – xQbert 2011-12-25 22:06:55