mysql - 查询以获取客户进行的平均交易次数

标签 mysql sql

我有一个包含 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/

相关文章:

php - 在 codeigniter 中访问包含查询的变量

sql - K - 词搜索 SQL

python - 在 Python 中为 MySQL 转义 unicode 字符串(避免异常。UnicodeEncodeError)

mysql - 在 bash 脚本中将变量注入(inject)到 mysql 查询中

php - 通知: Unidentified Index: QNo in C:\\xampp\htdocs\,

mysql - select 语句中列的顺序会影响查询速度吗?

mysql - Asterisk 实时用户注册

sql - T-SQL/SSIS - 使用主/外键重新设计后表锁定

mysql - 获取 SQL 中的行数

mysql - 为什么我的 SQL 语句有时没有返回结果?