0

週番号を分割するために使用したいのですがDENSE_RANK()、ID で並べるとうまくいきます。

しかし、私は2週間の数字で期間を持つIDを持っている場合がいくつかあります.それは彼に最初のものとは別のIDを与えました.

これは結果です:

CardID      WeekN       RowNum

2467        1           1   
**2481      1           *2***   
2468        2           1   
2473        2           2   
2482        2           3   
**2481      2           *4***   
2473        3           1   
2482        3           2   
2481        3           3

RowNum の私のクエリは次のとおりです。

 DENSE_RANK() OVER (PARTITION BY Lng_CardWWeek  ORDER BY Duration , CardID  Desc) as RowNum

どのように修正すればよいですか?

4

1 に答える 1

0

このようなことを試してください:

SELECT DENSE_RANK() 
OVER (PARTITION BY Lng_CardWWeek  ORDER BY Duration , CardID  Desc) AS RowNum
FROM <<tablename>> AS <<name>> 
[WHERE <<condtion>>]
GROUP BY CardID
ORDER BY RowNum

テーブルからデータを取得しようとしていることを指定するには、SELECT を使用する必要があります。さらに、テーブルの名前を含める必要があります。

次の行に同じ CardID を持つ要素を単にリストする場合は、OVER 句の外でも ORDER BY 句を使用します。

CardID ごとに 1 行のみを取得するには、外側の GROUP BY を試してください。

于 2012-11-25T08:47:40.213 に答える