資料庫很簡單,如下:
表1
ID dept 拜訪人 Vidate 拜訪內容
1 華山派 郭靖 2018/6/20 翻閱武當秘笈
2 華山派 郭靖 2018/6/20 少林經典
3 華山派 郭靖 2018/6/21 易筋經
4 華山派 郭靖 2018/6/22 葵花寶典
5 華山派 郭靖 2018/6/22 少林經典
6 華山派 郭靖 2018/6/24 抄寫武當秘笈
7 華山派 郭靖 2018/6/25 少林經典
8 華山派 黃蓉 2018/6/20 參悟易筋經
9 華山派 黃蓉 2018/6/22 偷看少林經典
10 華山派 黃蓉 2018/6/22 進入藏經閣,抄寫經卷
11 華山派 黃蓉 2018/6/24 查閱武當秘笈
12 華山派 黃蓉 2018/6/25 葵花寶典
13 華山派 蔣東國 2018/6/20 易筋經
14 華山派 蔣東國 2018/6/21 少林經典
15 華山派 蔣東國 2018/6/20 易筋經
16 華山派 蔣東國 2018/6/20 易筋經
17 華山派 蔣東國 2018/6/22 少林經典
18 華山派 蔣東國 2018/6/24 易筋經
19 華山派 蔣東國 2018/6/25 抄寫少林經典
20 華山派 李開泰 2018/6/20 武當秘笈
21 華山派 李開泰 2018/6/21 偷看少林經典
22 華山派 李開泰 2018/6/22 武當秘笈
23 華山派 李開泰 2018/6/23 背誦武當秘笈
24 華山派 李開泰 2018/6/24 少林經典
25 華山派 李開泰 2018/6/25 葵花寶典
我希望得到 這段時間里, 每個人的 拜訪總次數 和 總天數 (一天的拜訪次數可能為0, 可能為1,也可能多次)
得出 總次數 很簡單, 陳述句為:
SELECT dept, 拜訪人, Count(拜訪人) AS 拜訪總次數
FROM 表1
GROUP BY dept, 拜訪人;
就得到了 總次數 :
表1 查詢2
dept 拜訪人 拜訪總次數
華山派 郭靖 7
華山派 黃蓉 5
華山派 蔣東國 7
華山派 李開泰 6
怎么得出 總天數 呢?
我目前是兩步查詢,第一步 count 出 每人每天的參訪次數 ,生成查詢1 ,
第二部再對查詢1 count, 生成每人的參訪天數
有沒有方法,一條SQL陳述句,生成 總天數 呢?
最好是,一條SQL陳述句,同時產生 每個人的 拜訪總次數 和 總天數 ,
只用一個查詢就輸出結果,可以嗎?
uj5u.com熱心網友回復:
SQL server中可以這樣寫,用了 COUNT(DISTINCT d)SELECT dept, bfr AS [拜訪人] , Count(bfr) AS [拜訪總次數],
(SELECT COUNT(DISTINCT d) FROM t AS b WHERE b.bfr=a.bfr) AS [拜訪總天數]
FROM t AS a
GROUP BY dept, bfr;
uj5u.com熱心網友回復:
Access不支持 COUNT(DISTINCT date) ,所以 又有高手這么寫:SELECT dept
, bfr AS [拜訪人]
, Count(bfr) AS [拜訪總次數]
, (SELECT COUNT(1) FROM (SELECT DISTINCT d FROM t AS b WHERE b.bfr=a.bfr) AS tt) AS [拜訪總天數]
FROM t AS a
GROUP BY dept, bfr;
結果這陳述句得出的結果是: 拜訪總天數一列都為 0
實在不知道在Access里,應該如何寫,特來請教各位大神
多謝啦
uj5u.com熱心網友回復:
GROUP BY Vidate 不就OK了?轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/72090.html
標籤:Access
上一篇:Sqlite問題:timer_timeout_ex=timer_append,嘗試讀取或寫入受保護的記憶體,這通常指示其他記憶體已損壞
