【发布时间】:2015-01-01 18:31:22
【问题描述】:
我有一个场景,我真的不知道如何编写 SQL 命令。我有一个日志表,用于保存来自用户和管理员的数据。用户执行插入或编辑等事务。对于编辑,它可能超过在管理员批准之前一次。管理员会批准或拒绝这些用户交易。我想知道管理员对用户的响应速度有多快。
让我们看看用户 A 的交易。
日志表
Insert 20/01/2014 11:30:00 -->User trans 1
Approve 20/01/2014 11:40:05 -->Admin trans 1 responses to User trans 1
Edit 20/01/2014 12:00:01 -->User trans 2 -> first transaction after admin approved
Edit 20/01/2014 12:05:10 -->User trans 3
Approve 20/01/2014 12:06:45 -->Admin trans 2 responses to User trans 2 and 3
Edit 20/01/2014 13:01:56 -->User trans 4 -> first transaction after admin approved
Edit 20/01/2014 14:34:00 -->User trans 5
Approve 20/01/2013 14:43:00 -->Admin trans 3 responses to User trans 4 and 5
Edit 20/01/2014 15:55:43 -->User trans 6 -> first transaction after admin approved
Approve 20/01/2014 16:01:00 -->Admin trans 4 response to User trans 6
计算此场景的响应时间
管理员 trans 1 对用户 trans 1 的响应然后响应时间是 11:40:05-11:30:00
管理员 trans 2 对用户 trans 2 和 3 的响应,但我们从管理员批准后的第一个用户事务计算响应时间,然后响应时间为 12:06:45-12:00:01
管理员 trans 2 对用户 trans 2 和 3 的响应,但我们从管理员批准后的第一个用户事务计算响应时间,然后响应时间为 14:43:00-13:01:56
管理员 trans 2 对用户 trans 2 的响应然后响应时间是 16:01:00-15:55:43
表结构
uuid STRING NULLABLE
描述这个领域...
引用 STRING NULLABLE
描述这个领域...
item_id INTEGER NULLABLE
描述这个领域...
member_id INTEGER NULLABLE
描述这个领域...
admin_id INTEGER NULLABLE
描述这个领域...
cate_id INTEGER NULLABLE
描述这个领域...
列表状态 INTEGER NULLABLE
描述这个领域...
monitor_status INTEGER NULLABLE
描述这个领域...
注意 STRING NULLABLE
描述这个领域...
txn_type STRING NULLABLE
描述这个领域...
ip_address STRING NULLABLE
描述这个领域...
电子邮件字符串为空
描述这个领域...
post_name 字符串可以为空
描述这个领域...
user_agent 字符串可以为空
描述这个领域...
时间戳 STRING NULLABLE
描述这个领域...
http_host 字符串可以为空
描述这个领域...
输入 STRING NULLABLE
描述这个领域...
ua_name 字符串可以为空
描述这个领域...
ua_os STRING NULLABLE
描述这个领域...
ua_patch STRING NULLABLE
描述这个领域...
ua_os_major STRING NULLABLE
描述这个领域...
ua_os_minor STRING NULLABLE
描述这个领域...
ua_os_name STRING NULLABLE
描述这个领域...
ua_build 字符串为空
描述这个领域...
ua_device 字符串可以为空
描述这个领域...
ua_major STRING NULLABLE
描述这个领域...
ua_minor STRING NULLABLE
描述这个领域...
log_source STRING NULLABLE
描述这个领域...
timestamp_int INTEGER NULLABLE
描述这个领域...
geoip 记录为空
描述这个领域...
geoip.ip 字符串可以为空
描述这个领域...
geoip.country_code2 STRING NULLABLE
描述这个领域...
geoip.country_code3 STRING NULLABLE
描述这个领域...
geoip.country_name STRING NULLABLE
描述这个领域...
geoip.continent_code STRING NULLABLE
描述这个领域...
geoip.region_name STRING NULLABLE
描述这个领域...
geoip.city_name STRING NULLABLE
描述这个领域...
geoip.latitude FLOAT NULLABLE
描述这个领域...
geoip.longitude FLOAT NULLABLE
描述这个领域...
geoip.timezone STRING NULLABLE
描述这个领域...
geoip.real_region_name STRING NULLABLE
描述这个领域...
请指导
谢谢。
【问题讨论】:
-
日志表中是否还有其他列?什么是pk?
-
问题已理解,但 infi 不完整。请使用样本数据很少的表结构。很可能在第二个中使用 datediff。
-
嗨,Nathan,此表没有 pk
-
嗨 KumarHarsh,我已经更新了表结构,但由于太长而无法粘贴示例数据。
标签: sql sql-server google-bigquery