:SQL Serverの:私はSQL Serverでこのテーブルを持ってカウント取引
私は結果がこの
のように私はカウントするSQLクエリを作成しようと思ってほしいです毎月取引を統合します。
ありがとうございます。
:SQL Serverの:私はSQL Serverでこのテーブルを持ってカウント取引
私は結果がこの
のように私はカウントするSQLクエリを作成しようと思ってほしいです毎月取引を統合します。
ありがとうございます。
まず、グループ化する列を編集する必要があります。
SELECT
A.YYYYMM,
COUNT(*) TxnCount
FROM
(
SELECT
*,
LEFT(TXN_DATE, 6) YYYYMM
FROM
Tbl
) A
GROUP BY
A.YYYYMM
GROUP BY
句を使用してトランザクションをカウントできます。 あなたTXN Date
と仮定すると、あなたが次のクエリを使用することができ、date
型のものである:
SELECT CONVERT(VARCHAR(6), TXN_DATE, 112) AS YYYYMM, COUNT(*) AS TXN_COUNT
FROM MyTable
GROUP BY CONVERT(VARCHAR(6), TXN_DATE, 112)
ORDER BY CONVERT(VARCHAR(6), TXN_DATE, 112)
EDIT:あなたのTXN_DATE
はint
タイプであるため、あなたがとすることにより、以下の
SELECT LEFT(CONVERT(VARCHAR, TXN_DATE), 6) AS YYYYMM, COUNT(*) AS TXN_COUNT
FROM MyTable
GROUP BY LEFT(CONVERT(VARCHAR, TXN_DATE), 6)
ORDER BY LEFT(CONVERT(VARCHAR, TXN_DATE), 6)
使用グループを使用することができますがサブストリング:
SELECT
SUBSTRING(CAST(TXNDate AS VARCHAR(12)),0,9) AS TXNDate,COUNT(*) AS 'TXN Count'
FROM
@tblTest
GROUP BY SUBSTRING(CAST(TXNDate AS VARCHAR(12)),0,9)
は、 'TXN Date'カラム' varchar'または 'date'タイプですか? – ughai
TXN日付列はint型です –
これを100で割り、このように 'group by'を使用します。TXNT/100、COUNT(*)FROM Table1 GROUP BY TXNDate/100' – ughai