mysql left right

本文通过LEFT和RIGHT函数演示如何处理accounts表格中的公司网站数据,包括统计不同网址类型的数量、分析公司名称首字母的分布,并进一步探究公司名称的首字符是否为字母或数字及其是否为元音。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

LEFT 与 RIGHT

LEFT & RIGHT 练习

  1. accounts 表格中,有一个列存储的是每个公司的网站。最后三个数字表示他们使用的是什么类型的网址。此处给出了扩展(和价格)列表。请获取这些扩展并得出 accounts表格中每个网址类型的存在数量。

  2. 对于公司名称(甚至名称的第一个字母)的作用存在颇多争议(https://www.quora.com/Does-a-companys-name-matter)。请从%E3%80%82%E8%AF%B7%E4%BB%8E) accounts 表格中获取每个公司名称的第一个字母,看看以每个字母(数字)开头的公司名称分布情况。

  3. 使用 accounts 表格和 CASE 语句创建两个群组:一个是以数字开头的公司名称群组,另一个是以字母开头的公司名称群组。以字母开头的公司名称所占的比例是多少?

  4. 元音是指 aeiou。有多少比例的公司名称以元音开头,以其他音节开头的公司名称百分比是多少?

 

LEFT & RIGHT 解决方案

1.

SELECT RIGHT(website, 3) AS domain, COUNT(*) num_companies
FROM accounts
GROUP BY 1
ORDER BY 2 DESC;

结果:

2.

SELECT LEFT(UPPER(name), 1) AS first_letter, COUNT(*) num_companies
FROM accounts
GROUP BY 1
ORDER BY 2 DESC;

 

3.

SELECT SUM(num) nums, SUM(letter) letters
FROM (SELECT name, CASE WHEN LEFT(UPPER(name), 1) IN ('0','1','2','3','4','5','6','7','8','9') 
                       THEN 1 ELSE 0 END AS num, 
         CASE WHEN LEFT(UPPER(name), 1) IN ('0','1','2','3','4','5','6','7','8','9') 
                       THEN 0 ELSE 1 END AS letter
      FROM accounts) t1;

有 350 个公司名称以字母开头,1 个公司以数字开头。因此有 350/351 的公司名称以字母开头,即百分比是 99.7%。

4.

SELECT SUM(vowels) vowels, SUM(other) other
FROM (SELECT name, CASE WHEN LEFT(UPPER(name), 1) IN ('A','E','I','O','U') 
                        THEN 1 ELSE 0 END AS vowels, 
          CASE WHEN LEFT(UPPER(name), 1) IN ('A','E','I','O','U') 
                       THEN 0 ELSE 1 END AS other
         FROM accounts) t1;

有 80 的公司名称以元音开头,271 的公司以其他音节开头。元音的比例是 80/351,或 22.8%。因此,有 77.2% 的公司名称没有以元音开头。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值