[英]How can I get the max value of multiple columns (and value of stringcolumn where datecolumn is max) and combine it into a single query?
[英]How to generate uniqueRowdate number for a datecolumn i?
我的表中有一个日期列,我需要为日期更改生成一个唯一的行日期。我使用了CONVERT(varchar(50),cast(product as DATE),112)
但我却没有在日期中唯一。 我的表如下所示。
Product
02/22/2014
02/22/2014
02/22/2014
02/22/2014
02/23/2014
02/23/2014
02/23/2014
02/23/2014
02/23/2014
02/24/2014
02/24/2014
02/24/2014
输出看起来是
201402221
201402222
201402223
201402224
201402231
201402232
201402233
201402234
201402235
201402241
201402242
201402243
注意:我需要它,因为没有值应该匹配。请帮助我,我使用上述公式尝试了80%,但我不知道为日期添加行号吗?
select concat(replace(cast(product as date), '-', ''),
row_number() over(partition by product order by product)) as prod_id
from tbl
SQL Fiddle演示: http ://sqlfiddle.com/#!6/0a526/7/0
您可以使用ROW_NUMBER()
SELECT ROW_NUMBER() OVER( ORDER BY Product) AS rn, *
FROM your_table
ROW_NUMBER()
函数将从1开始生成计数。如果要从某个任意值(例如201402221)初始化计数,则可以将基本计数添加到count列,如下所示:
SELECT ROW_NUMBER() OVER( ORDER BY Product) + 201402220 AS rn, *
FROM your_table
declare @FromDate date = '2014-03-05'
declare @ToDate date = '2014-12-31'
select dateadd(day,rand(checksum(newid()))*(1+datediff(day, @FromDate, @ToDate)),@FromDate)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.