Firebird不会按列显示重复的行

时间:2013-01-23 07:04:38

标签: sql select firebird

我有一个包含以下数据的表:

- DATEURM     IDV    UNID
- 2013-02-02  15259  W0L0TGF0572 
- 2013-02-02  15259  W0L0TGF0572
- 2013-02-02  15674  ZFA18503158 
- 2013-02-02  16157  ZFA18503158
- 2013-02-02  16157  ZFA18503158
- ...

我使用此查询从中选择数据:

SELECT * FROM TBL order_date WHERE DATEURM BETWEEN DATE 'today'+10 AND DATE 'today'+40 order by DATEURM asc ROWS 50

我想要的是不能获得UNID列的重复行,结果如下:

- DATEURM  IDV UNID
- 2013-02-02  15259  W0L0TGF0572 
- 2013-02-02  16157  ZFA18503158
- ...

我玩过DISTINCT和GROUP BY但几个小时后没有得到任何好结果:(

1 个答案:

答案 0 :(得分:1)

根据你的评论,你说现在你想要每个unid一行,你不介意你得到哪些其他值,所以试试这个:

SELECT unid, min(dateurm) dateurm, min(idv) idv 
  FROM order_date
 WHERE DATEURM BETWEEN current_date + 10 AND current_date + 40
 group by unid
 order by 2

我得到的相同数据:

UNID        DATEURM             IDV
=========== ========== ============ 
W0L0TGF0572 2013-02-02        15259
ZFA18503158 2013-02-02        15674

SQL>