| id | name | date | quan |
| 1 | olay | 1997-01-01 | 3 |
| 2 | olay | 2010-01-01 | 5000 |
| 3 | olay | 2011-01-01 | 90000 |
| 4 | kiehl | 2011-01-01 | 333 |
| 5 | kiehl | 2011-12-12 | 999 |
以上是示范的数据表, 内容为仓库物品的盘点
现在想显示{每个物品最近一次盘点}的信息
完整代码如下:
SELECT tmp.id,tmp.name,tmp.date,tmp.quan FROM(
SELECT id,name,date,quan FROM datet ORDER BY date desc) as tmp
GROUP BY name思路就是首先对日期进行降序,这样日期临近的就被排在前面,之后再对物品名称分组,
就得到[对物品名分组,并且日期是降序的]结果了
实现上, 括号内是一次查询,就是按日期排序
把这个查询的结果作为tmp表(as tmp),之后再对tmp表按名称分组(group by name)就得到了结果
本文介绍了一种使用SQL查询来获取每个物品最近一次盘点信息的方法。通过先对日期进行降序排列,然后按物品名称分组,从而有效地筛选出最新的盘点记录。
1142

被折叠的 条评论
为什么被折叠?



