排名

用户解题统计

过去一年提交了

勋章 ①金银铜:在竞赛中获得第一二三名;②好习惯:自然月10天提交;③里程碑:解决1/2/5/10/20/50/100/200题;④每周打卡挑战:完成每周5题,每年1月1日清零。

收藏

收藏日期 题目名称 解决状态
没有收藏的题目。

评论笔记

评论日期 题目名称 评论内容 站长评论
没有评论过的题目。

提交记录

提交日期 题目名称 提交代码
2026-02-04 字符串与通配符(2)好多关键词做规则,可以使用rlike 
SELECT
reg_rules,
mch_cnt
FROM
(
SELECT
'按摩、保健、休闲、养生、SPA、会所' AS reg_rules,
COUNT(DISTINCT mch_nm) AS mch_cnt
FROM
cmb_usr_trx_rcd
WHERE
REGEXP_LIKE (mch_nm, '按摩|保健|休闲|养生|SPA|会所')
AND NOT (mch_nm REGEXP '按摩' AND mch_nm REGEXP '保健' AND mch_nm REGEXP '休闲') UNION ALL
SELECT
'按摩保健休闲' AS reg_rules,
COUNT(DISTINCT mch_nm) AS mch_cnt
FROM
cmb_usr_trx_rcd
WHERE
mch_nm REGEXP '按摩'
AND mch_nm REGEXP '保健'
AND mch_nm REGEXP '休闲'
) t
ORDER BY
mch_cnt DESC;
2026-02-04 字符串与通配符(2)好多关键词做规则,可以使用rlike 
SELECT
reg_rules,
mch_cnt
FROM (
SELECT
'按摩、保健、休闲、养生、SPA、会所' AS reg_rules,
COUNT(DISTINCT mch_nm) AS mch_cnt
FROM cmb_usr_trx_rcd
WHERE REGEXP_LIKE(mch_nm, '按摩|保健|休闲|养生|SPA|会所')
AND NOT (
mch_nm REGEXP '按摩' AND mch_nm REGEXP '保健' AND mch_nm REGEXP '休闲'
)
UNION ALL
SELECT
'按摩保健休闲' AS reg_rules,
COUNT(DISTINCT mch_nm) AS mch_cnt
FROM cmb_usr_trx_rcd
WHERE mch_nm REGEXP '按摩' AND mch_nm REGEXP '保健' AND mch_nm REGEXP '休闲'
) t
ORDER BY
mch_cnt DESC;
2026-02-04 字符串与通配符(2)好多关键词做规则,可以使用rlike 
SELECT
reg_rules,
mch_cnt
FROM (
SELECT
'按摩、保健、休闲、养生、SPA、会所' AS reg_rules,
COUNT(DISTINCT mch_nm) AS mch_cnt
FROM cmb_usr_trx_rcd
WHERE REGEXP_LIKE(mch_nm, '按摩|保健|休闲|养生|SPA|会所')
UNION ALL
SELECT
'按摩保健休闲' AS reg_rules,
COUNT(DISTINCT mch_nm) AS mch_cnt
FROM cmb_usr_trx_rcd
WHERE mch_nm REGEXP '按摩' AND mch_nm REGEXP '保健' AND mch_nm REGEXP '休闲'
) t
ORDER BY
mch_cnt DESC;
2026-02-04 字符串与通配符(1)名称里面有特服,可以使用通配符 
select count(distinct mch_nm) as mch_cnt from cmb_usr_trx_rcd where mch_nm like '%按摩保健休闲%'
2026-02-04 字符串与通配符(1)名称里面有特服,可以使用通配符 
select count(mch_nm) as mch_cnt from cmb_usr_trx_rcd where mch_nm like '%按摩保健休闲%'
2026-02-04 分类(1)姿势太多很过分,分类要用CaseWhen 
SELECT
CASE
WHEN
trx_amt = 288 THEN
'1.WithHand'
WHEN trx_amt = 388 THEN
'2.WithMimi'
WHEN trx_amt = 588 THEN
'3.BlowJobbie'
WHEN trx_amt = 888 THEN
'4.Doi'
WHEN trx_amt = 1288 THEN
'5.DoubleFly'
ELSE
'6.other'
END AS ser_typ,
count(1) AS trx_cnt,
min(DATE(trx_time)) AS first_date
FROM
cmb_usr_trx_rcd
WHERE
usr_id = 5201314520
AND mch_nm = '红玫瑰按摩保健休闲'
GROUP BY
ser_typ
ORDER BY
ser_typ
2026-02-04 分类(1)姿势太多很过分,分类要用CaseWhen 
SELECT
CASE
WHEN
trx_amt = 288 THEN
'1.WithHand'
WHEN trx_amt = 388 THEN
'2.WithMimi'
WHEN trx_amt = 588 THEN
'3.BlowJobbie'
WHEN trx_amt = 888 THEN
'4.Doi'
WHEN trx_amt = 1288 THEN
'5.DoubleFly'
ELSE
'6.other'
END AS ser_typ,
count(1) AS trx_cnt,
min(DATE(trx_time)) AS first_date
FROM
cmb_usr_trx_rcd
GROUP BY
ser_typ
ORDER BY
ser_typ
2026-02-02 分组与聚合函数(6)想知道渣男有多坏,疯狂使用GroupBy 
SELECT
usr_id,
mch_nm,
sum(trx_amt) AS sum_trx_amt,
count(1) AS trx_cnt,
min(trx_time) AS first_time
FROM
cmb_usr_trx_rcd
WHERE
usr_id = '5201314520'
and trx_amt>='288'
GROUP BY
usr_id,
mch_nm
ORDER BY
trx_cnt DESC
2026-02-02 分组与聚合函数(6)想知道渣男有多坏,疯狂使用GroupBy 
SELECT
usr_id,
mch_nm,
sum(trx_amt) AS trx_amt,
count(1) AS trx_cnt,
min(trx_time) AS first_time
FROM
cmb_usr_trx_rcd
WHERE
usr_id = '5201314520'
and trx_amt>='288'
GROUP BY
usr_id,
mch_nm
ORDER BY
trx_cnt DESC
2026-02-02 分组与聚合函数(6)想知道渣男有多坏,疯狂使用GroupBy 
SELECT
usr_id,
mch_nm,
sum(trx_amt) AS trx_amt,
count(1) AS trx_cnt,
min(trx_time) AS first_time
FROM
cmb_usr_trx_rcd
WHERE
usr_id = '5201314520'
GROUP BY
usr_id,
mch_nm
ORDER BY
trx_cnt DESC
2026-02-02 分组与聚合函数(6)想知道渣男有多坏,疯狂使用GroupBy 
SELECT
usr_id,
mch_nm,
sum(trx_amt) AS trx_amt,
count(1) AS trx_cnt,
min(trx_time) AS first_time
FROM
cmb_usr_trx_rcd
WHERE
usr_id = '5201314520'
group by usr_id,mch_nm
order by trx_cnt desc
2026-02-02 分组与聚合函数(5)想知道何时成瘾,用Max Or Min? 
SELECT
usr_id,
min(trx_time),
mch_nm AS first_time
FROM
cmb_usr_trx_rcd
WHERE
usr_id = '5201314520'
AND mch_nm = '红玫瑰按摩保健休闲' group by mch_nm,usr_id
2026-02-02 分组与聚合函数(5)五花八门的项目,其实都有固定套路(2) 
SELECT
trx_amt,
count(1) as total_trx_cnt, 
count(distinct usr_id) AS unique_usr_cnt,
count(1)/count(distinct usr_id) as avg_trx_per_user
FROM
cmb_usr_trx_rcd 
where mch_nm = '红玫瑰按摩保健休闲' and DATE(trx_time) BETWEEN '2023-01-01'
AND '2024-06-30'
group by trx_amt
order by avg_trx_per_user desc limit 5;
2026-02-02 分组与聚合函数(5)五花八门的项目,其实都有固定套路(2) 
SELECT
trx_amt,
count(1) as total_trx_cnt, 
count(distinct usr_id) AS unique_usr_cnt,
count(1)/count(distinct usr_id) as avg_trx_per_user
FROM
cmb_usr_trx_rcd 
where mch_nm = '红玫瑰按摩保健休闲' and DATE(trx_time) BETWEEN '2023-01-01'
AND '2024-06-30'
group by trx_amt
order by sum(trx_amt) limit 5;
2026-02-02 分组与聚合函数(5)五花八门的项目,其实都有固定套路(2) 
SELECT
trx_amt,
count(1) AS total_trx_cnt,
count(distinct usr_id) AS unique_usr_cnt,
count(1) / count(distinct usr_id) AS avg_trx_per_user
FROM
cmb_usr_trx_rcd
WHERE
mch_nm = '红玫瑰按摩保健休闲'
AND DATE(trx_time) BETWEEN '2023-01-01' AND '2024-06-30'
GROUP BY
trx_amt
ORDER BY
avg_trx_per_user DESC
LIMIT 5;
2026-02-02 分组与聚合函数(3)五花八门的项目,其实都有固定套路(1) 
SELECT
trx_amt,
count(*) as trx_cnt
FROM
cmb_usr_trx_rcd
WHERE
mch_nm = '红玫瑰按摩保健休闲'
AND Date(trx_time) BETWEEN '2024-01-01'
AND '2024-07-31'
GROUP BY
trx_amt
order by count(trx_amt) desc limit 5
2026-02-02 分组与聚合函数(3)五花八门的项目,其实都有固定套路(1) 
SELECT
count(*) as trx_cnt,
trx_amt
FROM
cmb_usr_trx_rcd
WHERE
mch_nm = '红玫瑰按摩保健休闲'
AND Date(trx_time) BETWEEN '2024-01-01'
AND '2024-07-31'
GROUP BY
trx_amt
order by count(trx_amt) desc limit 5
2026-02-02 分组与聚合函数(2)擦边营收怎么样,聚合函数可看出 
SELECT
DATE(trx_time) AS trx_date,
max(trx_amt) AS max_trx_amt,
min(trx_amt) AS min_trx_amt,
avg(trx_amt) AS avg_trx_amt,
sum(trx_amt) AS total_trx_amt
FROM
cmb_usr_trx_rcd
WHERE
mch_nm = '红玫瑰按摩保健休闲'
AND DATE(trx_time) BETWEEN '2024-09-01'
AND '2024-09-30'
GROUP BY
DATE(trx_time)
ORDER BY
DATE(trx_time)
2026-02-02 分组与聚合函数(1)Money全都花在哪,GroupBy来查一查 
select mch_nm,sum(trx_amt) as sum_trx_amt from cmb_usr_trx_rcd where usr_id='5201314520' and year(trx_time)='2024' group by mch_nm
2026-02-02 条件过滤(3)Hour函数很给力,组合条件要仔细 
select * from cmb_usr_trx_rcd where usr_id='5201314520' and date(trx_time) between '2024-09-01' and '2024-09-30' and 
(
(hour(trx_time) >= 22)
or (hour(trx_time) between 0 and 5) )order by trx_time