-1

私が目指している結果は(すべての列が計算されるため)です

The Number of Invoices Per Date
1 There were a total of 1 invoice(s) on Apr 02, 2012
2 There were a total of 5 invoice(s) on Apr 01, 2012

InvoiceDate テーブルをフォーマットする必要がありますが、どうにかして計算する必要がある日に複数の請求書の日付があるため、それをキャストすることはできません :S

SELECT convert(varchar, getdate(), 107) AS InvoiceDate FROM Invoices

上記は私が得た限りですが、同じ日付を何度も繰り返します

4

2 に答える 2

2

あなたはこれが欲しいようです:

select 
  'There were a total of '
  + cast(count(*) as varchar(10)) 
  + ' invoice(s) on '
  + convert(varchar(12), yourDateCol, 107)
from invoices
group by convert(varchar(12), yourDateCol, 107)
于 2012-11-15T14:25:22.257 に答える
1

日付をグループ化するだけです。

SELECT COUNT(*) AS Quantity, convert(varchar,YourDateFieldName, 107)
FROM Invoices
GROUP BY convert(varchar,YourDateFieldName, 107)
ORDER BT YourDateFieldName

あなたの例では、GETDATE() (別名 CURRENT_TIMESTAMP) は常に現在のタイムスタンプを返すことに注意してください。

于 2012-11-15T14:22:56.060 に答える