【发布时间】:2014-06-07 10:03:30
【问题描述】:
下面是我的数据表:
+----------+--------------+--------+-------+---------------+-------------+--------+
| RegionID | ReceivedDate | FdNo | FmNo | FromRegionID | ToRegionID | HFlag |
+----------+--------------+--------+-------+---------------+-------------+--------+
| 26 | 2014-04-10 | 104152 | 1 | 26 | 27 | 1 |
| 26 | 2014-04-10 | 104152 | 1 | 27 | 26 | 0 |
| 26 | 2014-04-10 | 104152 | 2 | 26 | 27 | 1 |
| 26 | 2014-04-10 | 104152 | 2 | 27 | 26 | 0 |
| 26 | 2014-04-10 | 104152 | 3 | 26 | 27 | 1 |
| 26 | 2014-04-10 | 104152 | 3 | 27 | 26 | 0 |
| 26 | 2014-04-10 | 104152 | 4 | 26 | 27 | 1 |
| 26 | 2014-04-10 | 104152 | 4 | 27 | 26 | 0 |
+----------+--------------+--------+-------+---------------+-------------+--------+
我想从每组 fdNo 中选择最后一条记录。在示例表中我给出了重复计数为 2 的数据,实际情况可能是 3,4,依此类推。
预期输出:
+----+-------------------------+--------+---+----+----+---+
| 26 | 2014-04-10 15:35:30.000 | 104152 | 1 | 27 | 26 | 0 |
| 26 | 2014-04-10 15:35:30.000 | 104152 | 2 | 27 | 26 | 0 |
| 26 | 2014-04-10 15:35:44.000 | 104152 | 3 | 27 | 26 | 0 |
| 26 | 2014-04-10 15:35:44.000 | 104152 | 4 | 27 | 26 | 0 |
+----+-------------------------+--------+---+----+----+---+
我想将 Ans 查询附加到我的原始查询(实际表是从中提取的)
原始查询:
SELECT tblreceipt.regionid,
tblreceipt.receiveddate,
tblreceipt.folderno,
tblreceipt.formno,
tbltransite.dispatchfromregionid,
tbltransite.dispatchtoregionid,
tbltransite.horeceivedflag
FROM tblreceipt
LEFT OUTER JOIN tbltransite
ON tblreceipt.folderno = tbltransite.folderno
WHERE tblreceipt.folderno = 104152
【问题讨论】:
-
能不能格式化一下你的表结构,很难看
-
好的,我会试试的……我是新来的。
-
最后基于什么?日期,一些主键。一般来说,这种查询可以使用 row_number() over()。
-
如果您提供您所期望的输出,其他成员可以更好地帮助您
-
最后一条记录 104152 和 1 个这样的组合...
标签: sql inner-join inner-query