我有一个包含 3 个表的数据库:
Table Name: allowed_users Columns: Id (int) primary, date_joined(datetime)
Table Name: profile_data Columns: user_id(int) primary, age (int), gender(varchar)
Table Name: transaction_data Columns: user_id(int) primary, transaction_name(varchar),
number_transactions(int),day_of_transaction(date)primary
我想仅针对允许的用户按性别获取用户每天完成的平均交易数。
我试试这个:
SELECT
a.id,
p.gender,
AVG(t.number_transactions)
FROM allowed_users AS a
JOIN profile_data AS p
ON a.id = p.user_id
JOIN transaction_data AS t
ON t.user_id = p.user_id
GROUP BY gender
我不知道如何每天计算这个。
请建议我如何每天计算它。
最佳答案
Try this you will get average transaction done by user and its gender.
SELECT allowed_users.id, profile_data.gender,
(COUNT(transaction_data.id)/COUNT(DISTINCT transaction_data.day_of_transaction)) AS
averageTransactions
FROM allowed_users
INNER JOIN profile_data ON allowed_users.id =profile_data.user_id
INNER JOIN transaction_data ON allowed_users.id=transaction_data.userId
GROUP BY allowed_users.id, profile_data.gender
And for the average transaction of the user everyday and its gender.
SELECT allowed_users.id, profile_data.gender,
(COUNT(transaction_data.id)/COUNT(DISTINCT transaction_data.day_of_transaction)) AS
averageTransactions
FROM allowed_users
INNER JOIN profile_data ON allowed_users.id =profile_data.user_id
INNER JOIN transaction_data ON allowed_users.id=transaction_data.userId
GROUP BY allowed_users.id, profile_data.gender,transaction_data.day_of_transaction
关于mysql - 查询以获取客户进行的平均交易次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48205109/