簡體   English   中英

將選擇查詢更改為計數不同查詢

[英]Changing a Select Query to a Count Distinct Query

我正在使用Select查詢來選擇Member(成員)(一個用作唯一標識符的變量)和交易日期(一種Date格式(MM / DD / YYYY))。

Select Members , transaction_date,
FROM table WHERE Criteria = 'xxx'
Group by Members, transaction_date;

我的最終目標是按月計算唯一身份成員的數量(即,一個月的第3天,第6天,第12天僅計算一次)。 我不想選擇任何數據,而是運行此計算(按月計數)並輸出計算。

這將給每個月不同的計數。

SQLFiddle Demo

select month,count(*) as distinct_Count_month 
from
(
    select members,to_char(transaction_date, 'YYYY-MM') as month
    from table1
    /* add your where condition */
    group by members,to_char(transaction_date, 'YYYY-MM')
) a
group by month

所以對於這個輸入

+---------+------------------+
| members | transaction_date |
+---------+------------------+
|       1 | 12/23/2015       |
|       1 | 11/23/2015       |
|       1 | 11/24/2015       |
|       2 | 11/24/2015       |
|       2 | 10/24/2015       |
+---------+------------------+

您將獲得此輸出

+----------+----------------------+
|  month   | distinct_count_month |
+----------+----------------------+
| 2015-10  |                    1 |
| 2015-11  |                    2 |
| 2015-12  |                    1 |
+----------+----------------------+

您可能想嘗試一下。 這可能有效。

SELECT REPLACE(CONVERT(DATE,transaction_date,101),'-','/')AS [DATE],
COUNT(成員)為[成員數]
從酒吧
在哪里替換(CONVERT(DATE,transaction_date,101),'-','/')IN

SELECT REPLACE(CONVERT(DATE,transaction_date,101),'-','/')
從酒吧

GROUP BY REPLACE(CONVERT(DATE,transaction_date,101),'-','/')
ORDER BY REPLACE(CONVERT(DATE,transaction_date,101),'-','/')

使用COUNT(DISTINCT成員)和date_trunc('month',transaction_date)可以為大多數計算保留時間戳(這也有助於對結果進行排序)。 然后可以使用to_char()來控制顯示格式,但在其他地方不需要。

SELECT
      to_char(date_trunc('month', transaction_date), 'YYYY-MM')
    , COUNT(DISTINCT members) AS distinct_Count_month
FROM table1
GROUP BY
      date_trunc('month', transaction_date)
;

結果樣本:

| to_char | distinct_count_month |
|---------|----------------------|
| 2015-10 |                    1 |
| 2015-11 |                    2 |
| 2015-12 |                    1 |

參見: http : //sqlfiddle.com/#!15/57294/2

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM