2011-04-14 68 views
0

我有一個表格,並記錄了銀行交易。我想在一個月內只提出一次交易的用戶。這意味着他們的交易在那個月計數== 1。從一個月只出現一次的數據庫中挑選數據

我記錄CARD_NUMBER,時間戳等。

+1

嘗試提供你的數據庫佈局,並且你的代碼到目前爲止 – BugFinder 2011-04-14 07:07:00

+1

試圖給我們一個表定義和...共事 – Marco 2011-04-14 07:07:16

回答

3
SELECT * 
FROM transactions 
GROUP BY card_number, month 
HAVING COUNT(card_number) = 1 
+1

你錯過了月= XXX – Marco 2011-04-14 07:08:00

+0

,我不認爲他的要求說出來必須僅限於特定月份。我將其解釋爲顯示所有交易,只有每月等於1的計數,所以我支持我的答案。 – Wes 2011-04-14 07:20:38

+0

@Wes:我不知道,也許你是對的。問題是不是「這麼清楚」關於這個:) – Marco 2011-04-14 07:23:51

0

入住這

select  Card_Number, 
      DATEPART(m, [TimeStamp])MonthNo, 
      COUNT(1) TxnCount 
from  Transactions 
group by Card_Number, 
      DATEPART(m, [TimeStamp]) 
having  COUNT(1)=1 

我假設你的表結構是一樣的財產以後在下面。

Card_Number int, 
TimeStamp datetime 
+0

-1在你的答案中使用選項卡而不是格式化爲代碼 – Wes 2011-04-14 07:34:16

+0

也不需要在選擇中具有'count(')txncount'。相反,只需要說''1'TxnCount',因爲count總是相同的,所以爲什麼要用一個函數來產生結果呢? – Wes 2011-04-14 07:35:30

+0

@Wes:我編輯了他的代碼,但我認爲有人不喜歡我的編輯。如果是這樣-1 – Marco 2011-04-14 07:36:22

相關問題