我是MySQL的新手,請耐心等待我的潛在問題。我需要創建一個查詢來顯示我們不同的成員子類型以及每個子類型在給定日期每小時簽入的次數。這是我到目前爲止:MySQL計數每個會員每個小時的簽到次數
SELECT
customers.CUSTOMER_CUSTOM_TYPE AS Subtype,
COUNT(CASE
WHEN checkins.POSTDATE BETWEEN '%17:00:00' AND '%17:59:59' THEN 1
ELSE 0
END) AS '5pm',
COUNT(CASE
WHEN checkins.POSTDATE BETWEEN '%18:00:00' AND '%18:59:59' THEN 1
ELSE 0
END) AS '6pm',
COUNT(CASE
WHEN checkins.POSTDATE BETWEEN '%19:00:00' AND '%19:59:59' THEN 1
ELSE 0
END) AS '7pm'
FROM
checkins,
customers
WHERE
checkins.CUSTOMER_ID = customers.CUSTOMER_ID
AND checkins.POSTDATE LIKE '2017-10-05%'
GROUP BY customers.CUSTOMER_CUSTOM_TYPE;
爲簡潔起見,我只包括三個小時。儘管POSTDATE發生變化,但我仍然每小時都會收到相同的數字。該表的設置是正確的:
MySQL Membership Subtype Checkin/Hour
在其他簡單的查詢,我對於給定的時間內計算客戶的CHECKIN_ID數簽入。每次登記時,客戶都會得到不同的唯一登記ID。我是否正確地進行了此操作?有一種更簡單的方法嗎?任何幫助表示讚賞!
'COUNT()'應該是'SUM()'。 – Barmar