基于阿里云天池的飞猪平台用户行为分析——MySQL

2023-10-29

前言

本文是基于阿里云天池的飞猪平台用户行为分析,使用MySQL和Excel做数据分析,对输出结果使用Excel和PowerBI进行数据可视化。

一、数据分析步骤

明确问题、理解数据、数据清洗、数据分析、数据可视化

二、明确问题

1、数据来源

阿里云天池数据集(User Behavior Data from Fliggy Trip Platform for Recommendation):https://tianchi.aliyun.com/dataset/113649

2、分析目标

从用户的行为数据中挖掘当前用户的行为特征,通过分析这些特征能够发现平台当前所面临的一些问题并分析原因,从而能出台一些针对性的解决措施,扩大用户的使用转化率。

3、建立指标体系

运用多维度拆解分析方法,分为三个维度(用户、商品、行为)

(1)用户维度

用户画像:年龄、性别、职业、区域分布

留存分析(用户粘性):次日、三日、七日、十五日、三十日

用户价值分析(RFM)

(2)商品维度

商品画像:种类、地域、标签分布

热门商品分析:点击、收藏、加购、购买前十

(3)行为维度

运用AAARR模型分析

aquisition用户获取:访客量(UV)

activation用户激活:浏览量(PV)、成交量

retention用户留存:见用户维度留存分析

revenue用户收益:复购率、跳失率

refer用户推荐:各环节转化率(漏斗分析)

三、理解数据

1、数据描述

文件名

介绍

包含字段

user_item_behavior_history.csv

所有用户行为数据

用户ID,产品ID,行为类型,时间戳

user_profile.csv

所有用户基本属性画像

用户ID,年龄,性别,职业,常住城市,人群标签

item_profile.csv

产品所有基本属性

产品ID,产品类别ID,产品城市,产品标签

2、数据展示

表1:User_profile.csv

每一行代表一个用户,共500万余条数据

A字段:用户ID B字段:年龄 C字段:性别(1-未知,2-男性,3-女性) D字段:职业 E字段:常住城市 F字段:人群标签

表2:item_profile.csv

每一行代表一个商品,共27万余条数据

A:产品ID B:产品类别ID C:产品城市 D:产品标签

表3:user_item_behavior_history.csv

每一行代表一个用户数据行为,共2亿余条数据

A:用户ID B:产品ID C:行为类型(clk, fav, cart, pay) D:时间戳

四、数据清洗

1、备份表

-- 备份表
CREATE TABLE userbehavior_beifen(
User_ID VARCHAR(255),
product_ID VARCHAR(255),
behavior_type VARCHAR(255),
timestamp VARCHAR(255)
);
-- 插入数据
INSERT into userbehavior_beifen SELECT * FROM user_item_behavior_history;

2、处理重复值

-- 处理重复值
ALTER TABLE userbehavior_beifen
 ADD id int PRIMARY KEY auto_increment;
DELETE FROM userbehavior_beifen
WHERE id in (
SELECT id FROM(
SELECT *,
ROW_NUMBER() over(partition by User_ID,product_ID,behavior_type,`timestamp`) '重复值'
FROM userbehavior_beifen) temp
WHERE 重复值>1);

3、处理空值

-- 处理空值(数据比较干净,没有空值)
DELETE FROM userbehavior_beifen 
WHERE User_ID is null or product_ID is null or behavior_type is null
or `timestamp` is null;

4、一致化处理

-- 时间格式转换
ALTER TABLE userbehavior_beifen 
 ADD date VARCHAR(255);
ALTER TABLE userbehavior_beifen 
 ADD time VARCHAR(255);
ALTER TABLE userbehavior_beifen 
 ADD weekday VARCHAR(255);
ALTER TABLE userbehavior_beifen 
 ADD `hour` VARCHAR(255);
UPDATE userbehavior_beifen 
 set date=FROM_UNIXTIME(timestamp,'%Y-%m-%d');
UPDATE userbehavior_beifen 
 set time=FROM_UNIXTIME(timestamp,'%H:%i:%s');
UPDATE userbehavior_beifen 
 set weekday=weekday(date)+1;
UPDATE userbehavior_beifen 
 set `hour`=FROM_UNIXTIME(`timestamp`,'%H');

5、选取分析时间

我们将随机选取的数据日期限制在2021-04-01到2021-04-30之间,其余删除。

-- 数据限制在2021-04-01到2021-04-30
DELETE FROM userbehavior_beifen
WHERE date<'2021-04-01' or date>'2021-04-30';

五、数据分析及可视化

1、行为维度

(1)浏览量(PV)、访客量(UV)、成交量

总量

SELECT COUNT(distinct User_ID) as UV
FROM userbehavior_beifen;
SELECT COUNT(behavior_type) as PV
FROM userbehavior_beifen
WHERE behavior_type = 'clk';
SELECT COUNT(behavior_type) as 支付量
FROM userbehavior_beifen
WHERE behavior_type = 'pay';

计算得

平均浏览量:PV/UV=7.59

人均成交量:支付量/UV=20.47%

在这一个月内,总体来看,在6566个用户中,平均每个人浏览7.59次,人均成交量为20.47%,说明用户活跃度不高且支付转化率不高。

日均

SELECT `date`,COUNT(DISTINCT User_ID) as 每日UV
FROM userbehavior_beifen
GROUP BY `date`
ORDER BY `date`;
SELECT date,COUNT(behavior_type) as 每日PV
FROM userbehavior_beifen
WHERE behavior_type = 'clk'
GROUP BY date
ORDER BY date;
SELECT date,COUNT(behavior_type) as 每日成交量
FROM userbehavior_beifen
WHERE behavior_type = 'pay'
GROUP BY date
ORDER BY date;

导出数据到Excel,并计算日人均PV和日人均成交量

每天的人均访问量起伏不大,月底稍有上升。

每天的人均成交量基本平稳,在6-9号、11-14和19-21号较低,4号最高,推测可能与清明假期有关。

时均

在中午人均成交量最高,凌晨4-7时成交量最低。

人均访问量在20-24时和11时最高。

周均

周四人均访问量最高,周六人均成交量最高。

(2)复购率、跳失率

复购率=购买次数>1的用户/所有购买用户

-- 建立一个表存放用户购买次数
CREATE TABLE count_pay
(SELECT User_ID,
ROW_NUMBER() over(PARTITION by User_ID) 购买次数
FROM userbehavior_beifen
WHERE behavior_type='pay');
-- 查询复购人数
SELECT COUNT(DISTINCT User_ID) 复购人数
FROM count_pay
WHERE 购买次数>1;
SELECT COUNT(DISTINCT User_ID) 总购买人数
FROM count_pay;

复购率为257/519=49.52%

跳失率=点击次数为1的用户/所有点击用户

-- 建立一个表存放用户点击次数
CREATE TABLE count_clk
(SELECT User_ID,
ROW_NUMBER() over(PARTITION by User_ID) 点击次数
FROM userbehavior_beifen
WHERE behavior_type='clk');
-- 计算点击一次的人数
SELECT COUNT(*) 点击一次人数
FROM(
SELECT User_ID
FROM count_clk
GROUP BY User_ID
HAVING max(点击次数)=1
) a;
-- 总人数
SELECT COUNT(DISTINCT User_ID) 总人数
FROM count_clk;

跳失率为1474/6388=23%

(3)转化率(漏斗分析法)

用户转化率可以用来直观的查看业务流程各环节的转化率,可以明确出转化率低的环节,并对其做出针对性的改善。

CREATE TABLE xingwei(
  SELECT behavior_type as 行为,COUNT(User_ID) 人数
    FROM userbehavior_beifen
    WHERE behavior_type='clk');

INSERT INTO xingwei
 SELECT behavior_type as 收藏,COUNT(User_ID) 人数
    FROM userbehavior_beifen
    WHERE behavior_type='fav';
    
INSERT INTO xingwei
 SELECT behavior_type as 加购,COUNT(User_ID) 人数
    FROM userbehavior_beifen
    WHERE behavior_type='cart';
    
INSERT INTO xingwei
 SELECT behavior_type as 支付,COUNT(User_ID) 人数
    FROM userbehavior_beifen
    WHERE behavior_type='pay';

从漏斗图来看,最终购买的人数相比于点击的人数转化率只有2.5%,流失率最大的环节处于点击—加购环节,大量用户在这一环节流失,而相较于上一环节的转化率,可以看出加购—支付的转化率比较高,达到了73.97%。分析点击—加购环节流失的主要原因有两个,一是商品类别不符合用户期待,二是商品价格超过了用户的心里预期,针对这一流失问题,需要在向用户推送商品时精准推送,按照用户标签进行推送,以提高点击—加购这一环节的转化率。

2、用户维度

(1)用户画像

只对支付用户进行分析。

星期

SELECT `weekday`,COUNT(DISTINCT User_ID) as 每日UV
FROM userbehavior_beifen
WHERE behavior_type='pay'
GROUP BY `weekday`
ORDER BY `weekday`;

周四成交人数最高。

时刻

11时支付人数最多,凌晨支付人数最少。

年龄

SELECT age,
  COUNT(*) as 成交人次
FROM (
 SELECT 
  CASE when b.age<18 then '18岁以下'
         when b.age>=18 and b.age <=25 then '18-25' 
         when b.age>25 and b.age<=35 then '26-35' 
         when b.age>35 and b.age<=45 then '36-45' 
         when b.age>45 and b.age<=60 then '46-60' 
         when b.age>60 and b.age<=80 then '61-80' 
        when b.age>80 then '80以上' end as age
 FROM userbehavior_beifen a
 JOIN user_profile b
 on a.User_ID=b.User_ID
 WHERE a.behavior_type='pay') as nianling
GROUP BY age
ORDER BY age;

支付用户的年龄主要集中在46-60岁年龄段,这个年龄的用户相对年轻人和中年人来说,没有太大经济和生活压力,更懂得也有时间享受生活出去旅行。

性别

SELECT b.gender,COUNT(*) as 成交人次
FROM userbehavior_beifen a
join user_profile b
on a.User_ID=b.User_ID
where a.behavior_type='pay'
GROUP BY gender
ORDER BY gender

(1:未知,2:男性,3:女性)

女性占比最高,更喜欢享受生活喜欢旅行,男性经济方面压力大些,相对来说出行欲望较低。

职业

SELECT b.occupation,COUNT(*) as 成交人次
FROM userbehavior_beifen a
join user_profile b
on a.User_ID=b.User_ID
where a.behavior_type='pay'
GROUP BY occupation
ORDER BY occupation;

职业3 成交人次最多,说明这个职业的人比较喜欢出行或是职业原因(如需要出差)。

地区

SELECT habitual_city,成交人次,占比
FROM
(SELECT b.habitual_city,COUNT(*) as 成交人次,round(COUNT(*)/1344,4) as 占比
FROM userbehavior_beifen a
join user_profile b
on a.User_ID=b.User_ID
where a.behavior_type='pay'
GROUP BY b.habitual_city) as linshi
WHERE 占比>=0.1

只有城市224占比超过10%,可能这个城市比较发达,人民相对富裕,除生活开销外,愿意负担出行的费用享受生活。

(2)留存分析

N日留存率=(某日新增的用户中,在注册的第N天还进行登录的用户数)/ 该日新增用户数

-- 创建一个存放用户操作日期的表
CREATE table liucunlv(
 SELECT User_ID,date
 FROM userbehavior_beifen
 GROUP BY User_ID,date
 ORDER BY User_ID,date
);

-- 添加一个字段,记录最早操作日期
ALTER TABLE liucunlv
 ADD 最早操作日期 VARCHAR(255);
UPDATE liucunlv SET 最早操作日期=(
 SELECT 最早操作日期
 FROM (
   SELECT User_ID,min(date) 最早操作日期
     FROM liucunlv
     GROUP BY User_ID
 ) a
 WHERE liucunlv.User_ID=a.User_ID
);

-- 添加一字段记录日期差值
ALTER TABLE liucunlv 
 add 日期差值 VARCHAR(255);
UPDATE liucunlv SET 日期差值=DATEDIFF(date,最早操作日期);

-- 新建一个表,记录次日,3日,7日,15日,30日留存人数
CREATE TABLE count_liuvunlv(
  SELECT 最早操作日期,
      sum(case when 日期差值='1' then 1 else 0 end) as 次日,
        sum(case when 日期差值='3' then 1 else 0 end) as '3日',
        sum(case when 日期差值='7' then 1 else 0 end) as '7日',
        sum(case when 日期差值='15' then 1 else 0 end) as '15日',
        sum(case when 日期差值='30' then 1 else 0 end) as '30日'
    FROM liucunlv
    GROUP BY 最早操作日期
    ORDER BY 最早操作日期
);
-- 查询留存率
SELECT 最早操作日期,
CONCAT(cast((次日/当日)*100 as DECIMAL(18,2)),'%') as 次日留存率,
CONCAT(cast((`3日`/当日)*100 as DECIMAL(18,2)),'%') as '3日留存率',
CONCAT(cast((`7日`/当日)*100 as DECIMAL(18,2)),'%') as '7日留存率',
CONCAT(cast((`15日`/当日)*100 as DECIMAL(18,2)),'%') as '15日留存率',
CONCAT(cast((`30日`/当日)*100 as DECIMAL(18,2)),'%') as '30日留存率'
FROM count_liuvunlv;

部分数据如下所示

从不同的时间来看,留存率整体是比较低的。

(3)用户价值(RFM分析)

用户价值分析包括三个方面,最近消费日期(R),指定时间段消费频率(F),消费金额(M),源数据不包含用户消费,故从最近消费日期、指定时间段消费频率进行分析,此次分析将指定时间段设定为2021年4月1日至2021年4月30日,现对用户进行RFM分析。

R表

-- 建表存放R值
CREATE TABLE R_value (
SELECT User_ID,max(date) as 最近购买日期
FROM userbehavior_beifen
WHERE behavior_type='pay'
GROUP BY User_ID
);

-- 计算与2021-04-30时间间隔并赋R值
-- 间隔<=2 ->5, 2<间隔<=4 ->4, 4<间隔<=6 ->3,6<间隔<=8 ->2,间隔>8 ->1
ALTER TABLE R_value 
ADD 日期间隔 VARCHAR(255);
ALTER TABLE R_value 
ADD R值 VARCHAR(255);
UPDATE R_value SET
日期间隔 = DATEDIFF('2021-04-30',最近购买日期);
UPDATE R_value SET
R值 = (
case when 日期间隔<=2 then 5
     when 日期间隔<=4 then 4
         when 日期间隔<=6 then 3
         when 日期间隔<=8 then 2
         else 1 end
);

F表

-- 向F_value表中插入购买频率及计算F值
-- 购买次数<=2 ->1, 购买次数<=4 ->2, 购买次数<=6 ->3, 购买次数<=8 ->4, 购买次数>8 ->5
CREATE table F_value (
SELECT  User_ID,count(*) 购买次数
FROM userbehavior_beifen
WHERE behavior_type='pay'
GROUP BY User_ID
);

ALTER TABLE f_value add F值 VARCHAR(255);
UPDATE f_value set F值=
(case when 购买次数<=2 then 1
          when 购买次数<=4 then 2
            when 购买次数<=6 then 3
            when 购买次数<=8 then 4
            else 5 end);

-- 计算R平均值 2.3
SELECT avg(R值) from r_value;

CREATE table R值高低 (
SELECT User_ID,
(case when R值>=2.3 then '高'
      else '低' end) R值高低
from r_value 
);

-- 计算F平均值 1.6
SELECT avg(F值) from f_value;

CREATE table F值高低 (
SELECT User_ID,
(case when F值>=1.6 then '高'
      else '低' end) F值高低
from f_value 
);

-- 将用户进行分类
SELECT r.User_ID, 
(case when r.`R值高低`='高' and f.`F值高低`='高' then '重要高价值用户'
          when r.`R值高低`='低' and f.`F值高低`='高' then '重要保留用户'
            when r.`R值高低`='高' and f.`F值高低`='低' then '重要发展用户'
            when r.`R值高低`='低' and f.`F值高低`='低' then '重要挽留用户'
            end
) 用户分类
FROM r值高低  r
left join f值高低 f
on r.User_ID=f.User_ID;

-- 计算各分类用户数
SELECT 用户分类,COUNT(*) 计数
FROM (
SELECT r.User_ID, 
(case when r.`R值高低`='高' and f.`F值高低`='高' then '重要高价值用户'
          when r.`R值高低`='低' and f.`F值高低`='高' then '重要保留用户'
            when r.`R值高低`='高' and f.`F值高低`='低' then '重要发展用户'
            when r.`R值高低`='低' and f.`F值高低`='低' then '重要挽留用户'
            end
) 用户分类
FROM r值高低  r
left join f值高低 f
on r.User_ID=f.User_ID
) user_category
GROUP BY 用户分类;

从用户RFM分析可以看出,重要挽留用户占比最多,其次是重要保留用户和重要发展用户,重要高价值用户占比最少,头部20%用户贡献了80%的GMV,针对这部分用户运营需要想办法保留住。

3、商品维度

(1)热门商品分析

Top10商品

-- 各类别前10商品
SELECT product_ID,COUNT(product_ID) 点击
from userbehavior_beifen
WHERE behavior_type='clk'
GROUP BY product_ID
ORDER BY 点击 desc
LIMIT 10;

SELECT product_ID,COUNT(product_ID) 收藏
from userbehavior_beifen
WHERE behavior_type='fav'
GROUP BY product_ID
ORDER BY 收藏 desc
LIMIT 10;

SELECT product_ID,COUNT(product_ID) 加购
from userbehavior_beifen
WHERE behavior_type='cart'
GROUP BY product_ID
ORDER BY 加购 desc
LIMIT 10;

SELECT product_ID,COUNT(product_ID) 支付
from userbehavior_beifen
WHERE behavior_type='pay'
GROUP BY product_ID
ORDER BY 支付 desc
LIMIT 10;

相关度分析

-- 浏览(点击)商品前10 与 支付商品前10 交叉商品
SELECT click.product_ID,click.`点击`,pay.`支付`
from (
SELECT product_ID,COUNT(product_ID) 点击
from userbehavior_beifen
WHERE behavior_type='clk'
GROUP BY product_ID
ORDER BY 点击 desc
LIMIT 10
) click
join 
(
SELECT product_ID,COUNT(product_ID) 支付
from userbehavior_beifen
WHERE behavior_type='pay'
GROUP BY product_ID
ORDER BY 支付 desc
LIMIT 10
) pay
on click.product_ID=pay.product_ID;

仅有三个交叉商品,可能是人货不匹配,运营需提高广告精准投放。

(2)商品画像

-- 购买top10商品所属类别
SELECT productcategory_ID,count(a.product_ID) 数量
FROM (
SELECT product_ID,COUNT(product_ID) 支付
from userbehavior_beifen
WHERE behavior_type='pay'
GROUP BY product_ID
ORDER BY 支付 desc
LIMIT 10
) a
join item_profile b
on a.product_ID=b.`product _ID`
GROUP BY productcategory_ID;

支付量Top10的商品所属类别为种类13,4和38,可加大该三种类别商品推荐

支付量Top10的商品所属城市为城市224,383,373,248,344和386,其中,城市224与用户画像中所占比最高的区域匹配。

支付量Top10的商品所属标签为169;94、-1、94;343和94;169

六、总结

1、总体上看,用户活跃度不高且支付转化率不高,可能跟产品性质有关,一般使用频率不高,只有有需求时才会产生用户行为。

2、每天的人均成交量在4月4号最高,推测可能与清明假期有关,反乡或旅游等出行增多。

3、每日内,中午时刻人均成交量最高,凌晨4-7时成交量最低。人均访问量在20-24时和11时最高,可增加在这些时刻的广告投放。

4、用户的复购率较低约为50%,留存率整体较低,说明用户粘度不高,平台对用户的吸引力很低,平台可以从页面设计、精准推送、服务制度以及售后服务等几个方面寻找原因。

5、转化率分析中,流失率最大的环节处于点击—加购环节,大量用户在这一环节流失,猜测可能是商品类别不符合用户期待,或商品价格超过了用户的心里预期。

6、支付用户的年龄主要集中在46-60岁年龄段,性别集中在女性(60%以上),职业方面职业3 成交人次最多,可针对这些用户进行推广。

7、用户留存分析中,留存率整体比较低。

8、RFM分析可以看出,重要挽留用户占比最多,其次是重要保留用户和重要发展用户,重要高价值用户占比最少,头部20%用户贡献了80%的GMV,针对这部分用户运营需要想办法保留住。

9、点击商品和支付商品前10中仅有三个交叉商品,可能是人货不匹配,运营需提高广告精准投放。同时,还可针对支付占比高的品类商品增加推广。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

基于阿里云天池的飞猪平台用户行为分析——MySQL 的相关文章

  • postgresql 选择不同的最新记录

    我有一个像这样的表 id fkey srno remark date 1 A001 1 2 A001 2 3 A002 1 4 A003 1 5 A002 2 我想要基于 max srno 的不同最新记录 例如 2 A001 2 4 A00
  • 使用 Proc sql 和 Teradata 在 SAS 中编写高效查询

    编辑 这是一组更完整的代码 它准确地显示了下面的答案所发生的情况 libname output data files jeff let DateStart 01Jan2013 d let DateEnd 01Jun2013 d proc s
  • 使用 SQL 完全复制 postgres 表

    免责声明 这个问题和栈溢出问题类似here https stackoverflow com questions 198141 copy a table including indexes in postgres 但这些答案都不适用于我的问题
  • 合并并添加两个表中的值

    是否可以制作一个在两个表中添加值的查询 例如 假设您有两张表 id value a 1 c 2 d 3 f 4 g 5 and id value a 1 b 2 c 3 d 4 e 5 然后 当您 添加 两个表时 您将获得 id 匹配的结果
  • SQL Server 2008 R2 内连接无法匹配 varchar 字段,因为它包含特殊字符

    我们正在将 Microsoft SQL Server 2008 R2 用于我们的经典 ASP 应用程序之一 我们有两张表 TableA TableB TableA有以下列 InstName varchar 1024 TableB有这些列 I
  • 使用“AND”表达式构建动态 SQL,而不混淆嵌套条件?

    总的来说 我对 php 和编码相当陌生 我有一系列条件需要测试它们是否已设置 它们是 option1 option2 option3 if isset option1 if isset option2 if isset option3 qu
  • MYSQL 按喜欢/不喜欢和受欢迎程度排序

    我有评论表 其中包括喜欢和不喜欢的内容 现在我在正确的顺序上遇到了问题 实际上 我的系统在顶部显示了最多点赞的评论 我正在 youtube 上寻找类似系统的东西 这意味着 100like 100dislikes 的评论的顺序高于 1 1 我
  • SQL Server 每年的第一个星期一

    如何使用 T SQL 查找 一年中的第一个星期一 这是 ngruson 发布的链接中的示例 http sqlbump blogspot nl 2010 01 first monday of year html http sqlbump bl
  • <表值函数> 不是可识别的内置函数名称

    我收到此错误 消息 195 第 15 级 状态 10 第 1 行 fnParseName 不是可识别的内置函数名称 对于这个查询 SELECT fnParseName DOCTORFIRSTNAME DOCTORLASTNAME FROM
  • MySQL 5:我的 GROUP BY 字段的顺序重要吗?

    Peeps 我的 MySQL 查询中有一些聚合 计算字段 我的 GROUP BY 子句是动态生成的 具体取决于用户在 Web 表单中选择的选项 很好奇 GROUP BY 子句中列出的字段顺序是否会对计算产生任何影响 例如 SUM AVERA
  • 将逗号分隔的主数据替换为列中的描述

    有 2 个 SQL Server 表 Products Name Status Code Product 1 1001 1003 Product 2 1001 1005 1006 Status Code Description 1001 S
  • MySQL,连接两列

    MySQL 表中有两列 SUBJECT and YEAR 我想生成一个字母数字唯一编号 其中包含主题和年份的串联数据 我怎样才能做到这一点 是否可以使用像这样的简单运算符 您可以使用CONCAT http dev mysql com doc
  • PL/SQL 过程:如何返回 select 语句?

    我想创建一个存储过程 on ORACLE数据库服务器我的问题是 我不知道如何返回 select 语句 这是程序中应包含的逻辑 输入参数 过滤器1 int 过滤器2 字符串 with cte as select val1 val2 stdde
  • 如何在postgresql中编写有关最大行数的约束?

    我认为这是一个很常见的问题 我有一张桌子user id INT 和一张桌子photo id BIGINT owner INT 所有者是一个参考user id 我想向表照片添加一个约束 以防止每个用户将超过 10 张照片输入数据库 写这个的最
  • 如何选择列值不不同的每一行

    我需要运行一个 select 语句 返回列值不不同的所有行 例如 EmailAddress 例如 如果表格如下所示 CustomerName EmailAddress Aaron email protected cdn cgi l emai
  • 更高效的 LINQ 查询

    有人可以帮我将此查询循环变成高效的 Linq 查询吗 我将其加载到 TreeView 中 因此必须附加每个项目 包含也非常低效 延迟加载项目也不起作用 事实上 这个查询访问数据库的次数比应有的要多 public IQueryable
  • SQLite 使用循环重新编号 ID

    您好 我有一个包含许多插入行的表 我需要按 id 对所有行重新编号并排序 我找到了这段代码 但它对我不起作用 SET i 100 UPDATE main Categories SET ID i i 1 WHERE Name White AL
  • INTEGER 到 DATETIME 的转换与 VB6 不同

    我正在查看一些遗留的 VB6 代码 比我的时代早很多年 它对 SQL 2005 数据库运行查询 它提供了日期限制WHERE子句 其中日期作为整数值给出CLng VB6 中的日期 e g WHERE SomeDateField gt 4006
  • LEFT JOIN 比 INNER JOIN 快得多

    我有一张桌子 MainTable 有超过 600 000 条记录 它通过第二个表连接到自身 JoinTable 在父 子类型关系中 SELECT Child ID Parent ID FROM MainTable AS Child JOIN
  • 索引在 NOT IN 或 <> 子句中起作用吗?

    我读过 至少 Oracle 数据库中的普通索引基本上是 B 树结构 因此存储处理适当根节点的记录 小于 根的记录被迭代地存储在树的左侧部分 而 大于 根的记录被存储在右侧部分 正是这种存储方法有助于通过树遍历实现更快的扫描 因为深度和广度都

随机推荐

  • cadence学习笔记(2)-PCB封装库制作

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 前言 一 PCB封装库制作 二 制作焊盘 二 制作PCB封装 前言 提示 这里可以添加本文要记录的大概内容 例如 随着人工智能的不断发展 机器学习这门技术也越来越重
  • 我和计算机的故事

    为什么我选择了大三转专业 我和计算机的故事 一 我已经不是当年那个泡在生物实验室几乎每天只睡三个小时的章鱼烧了 也不是当年对着蓝框框在NEC笔记本上写 Pascal 一种编程语言 的章鱼烧了 我现在是三天不见到代码就浑身不舒服的章鱼烧 这个
  • 485芯片中slew-rate-limited是什么意思(转)

    边沿斜率限制 也称 压摆率 限制 压摆率 是单位时间 一般用微妙 器件输出电压值可改变的范围 对于485网络 若想提高线路的通讯速度 首先得要求接口器件具有较高的开关速度 而高开关速度必然会有较高的压摆率 但过高的压摆率会带来EMI干扰 这
  • 在Windows平台上搭建Docker开发环境

    本文介绍的是如何在Windows系统上安装Docker运行环境 Docker官方提供了Windows平台上的安装包 这个安装包会打开Windows平台上的HyperV虚拟机 所以如果不喜欢使用HyperV虚拟机或者有需要使用其他虚拟机软件的
  • MySQL抑制binlog日志中的BINLOG部分

    MySQL通过binlog来记录整个数据的变更过程 因此我们只要有MySQL的binlog日志即可完整的还原数据库 MySQL binlog日志记录有3种不同的方式 即 STATEMENT MIXED ROW 对于不同的日志模式 生成的bi
  • python--pandas数据聚合和分组运算

    groupby机制 1 通过列进行分组 访问列1 并根据列2和列3调用groupby 生成的是对象 s df 列1 groupby df 列2 df 列3 求和 sums s sum sums unstack 或者 df groupby k
  • 数据库——sql数据查询

    sql数据查询 单表查询 多表查询 联合查询UNION 连接查询 嵌套查询 子查询 复制表 判断查询 单表查询 查询全部数据 select from 表名 查询部分字段 select 字段1 字段2 from 表名 简单的条件查询 sele
  • Docker无法连接到docker守护程序

    本文翻译自 Docker can t connect to docker daemon After I update my Docker version to 0 8 0 I get an error message while enter
  • redux使用教程一 ——实现计数器

    文章目录 安装 概念介绍 action 和 action创建函数 reducer Store 计数器示例 安装 安装稳定版redux cnpm install save redux 安装redux绑定库和开发者工具 cnpm install
  • ofbiz Couldn't create server socket(/127.0.0.1:10523)

    start运行时报这个错误的话 只需把 framework webapp config url properties中的 这两个端口号改一下就可以了 需要改的地方已经标红 HTTPS Port Secure port port https
  • STM32的ADC介绍

    STM32的ADC精度是12位 它有18个通道 可以测量16路外部和2个内部信号源 各通道的A D转换可以单次 连续 扫描或间断模式执行 ADC的结果可以左对齐或右对齐方式存储在16位数据寄存器中 主要特征 12 位分辨率 转换结束 注入转
  • CGAL 读写.xyz格式的点云 编程

    CGAL 读写 xyz格式的点云 编程 在计算机图形学和计算几何中 点云是一个由大量离散点组成的数据集合 用于表示物体的表面或者场景的几何结构 点云数据可以通过不同的文件格式进行存储和交换 其中 xyz 格式是一种简单且常用的表示点云的文件
  • ctfshow简单题web1-15

    ctfshow萌新 目录 ctfshow萌新 web1 web2 4 web5 7 web9 web10 web11 web12 web13 web14 15 总结 这几题主要都是正则匹配字符过滤的绕过 基本步骤都是源码中查看过滤规则 gt
  • docker中运行redis主从机连接出现master_link_status:down的解决问题(含坑)

    使用命令配置主从复制出现主从机无法连接 在使用命令 slaveof host port 或者是 replicaof host port 命令配置redis主从复制时 从机出现master link status down提示 显示主机是do
  • 使用Yolov5 模型,训练自己的数据集这里以目标检测BDD数据集为例,跑出检测结果

    yolov5模型下载地址 GitHub ultralytics yolov5 YOLOv5 in PyTorch gt ONNX gt CoreML gt TFLite 下载完需要配置环境 yolov5的环境所需的包基本都收录在requir
  • 双链表-纯C语言(代码以及详细解释)

    目录 简介 使用 C 代码实现 可供CV大师参考 代码详细介绍及讲解 知识点密集 可能错误 大佬们评论区指点 doge保命 1 动态申请一个节点 2 打印 遍历链表 3 尾插数据 4 头插数据 5 头删数据 6 尾删数据 7 查找数组 返回
  • 初步理解Spring Security并实践

    Spring Security主要做两件事 一件是认证 一件是授权 1 Spring Security初体验 Spring Security如何使用 先在你的项目pom xml文件中声明依赖
  • 刷脸支付市场有没信心可以放心顾虑

    刷脸支付设备供不应求这一状态 本身就很能反映一个问题 刷脸支付市场很大 需求量很高 对刷脸支付市场没信心全部可以放心顾虑 刷脸支付即将迎来全面爆发 刷脸支付代理商抓住时机 刷脸支付即将迎来全面爆发阶段 想做刷脸支付代理商的朋友抓住时机 今年
  • 国家信息安全水平考试NISP一级模拟题

    1 下列关于用户口令说法错误的是 A 口令不能设置为空 B 口令长度越长 安全性越高 C 复杂口令安全性足够高 不需要定期修改 D 口令认证是最常见的认证机制 正确答案 C 2 下列关于木马病毒的特性 不正确的是 A 隐蔽性 B 主动传播性
  • 基于阿里云天池的飞猪平台用户行为分析——MySQL

    前言 本文是基于阿里云天池的飞猪平台用户行为分析 使用MySQL和Excel做数据分析 对输出结果使用Excel和PowerBI进行数据可视化 一 数据分析步骤 明确问题 理解数据 数据清洗 数据分析 数据可视化 二 明确问题 1 数据来源