SELECT DISTINCT 关键字 SQL的SELECT DISTINCT语句用于选择表中的不同(唯一)值。...SELECT DISTINCT的基本语法如下: SELECT DISTINCT column1, column2, ......请注意,某些数据库系统可能不支持COUNT(DISTINCT column_name)这种写法。在这种情况下,您可以使用子查询来达到相同的目的。...SQL WHERE 关键字 SQL的WHERE子句用于筛选数据库表中的记录。它允许您提取只满足指定条件的记录。...最后 看完如果觉得有帮助,欢迎点赞、收藏和关注
一个数据工作者面试数据相关岗位,SQL查询语句是必不可少的笔试环节,今天云朵君给大家带来了某厂一道面试题,附上参考答案,希望能够帮到大家!...判断result = 'pass'则为通过,相等则为1,不等则为0,运用求和函数sum()即可求出通过总数。申请总数可以直接运用计数函数count()即可。...SELECT apply_date, SUM(result = 'pass')/COUNT(loan_no) 审批通过率, -- 别名 SUM((result = 'pass...② 放款笔数、放款金额 -- 分别使用计数函数count()和求和函数sum()即可。...② 不同人数占比 -- 放款客户去重计数,除以所有客户总数(通过字表查询) SELECT groupp, COUNT(distinct loan_list.id_no)/ (SELECT
name from Author; 查询所有列 #查询Author表所有列的信息 select * from Author; 查询不同的行(distinct去重) #查询Article表所有作者 select...distinct author from Article; 限制查询结果(limit分页) #查询Article表前3行的文章类型 select type from Article limit 1,3...regexp正则提取匹配的字符 #查询Type中有SQL的Article信息 select * from Article where type regexp '.SQL'; regexp 正则或(|)...select sum(articles) from Article; 组合聚集函数 #DISTINCT()函数只考虑不同值的平均值 select avg(distinct fans) as '平均粉丝数...最后是今天的分享:Author、Article、ArticleDetail三张表一键建表SQL语句
聚合函数 MySQL中的聚合函数用于对数据进行计算和统计,常见的聚合函数包括下面列举出来的聚合函数: 函数 说明 COUNT([DISTINCT] expr) 返回查询到的数据的数量...SUM([DISTINCT] expr) 返回查询到的数据的总和,不是数字没有意义 AVG([DISTINCT] expr) 返回查询到的数据的平均值,不是数字没有意义 MAX([DISTINCT...distinct select distinct count(distinct math) from exam_result; 统计数学成绩总分 select sum(math) from exam_result...; 统计数学成绩的平均分 select sum(math)/count(*) from exam_result; select avg(math) from exam_result; 统计英语成绩不及格的人数...select avg(sal) as myavg from EMP group by deptno having myavg<2000; having就是对聚合后的统计数据,条件筛选 having和where
01-基础查询 SQL1 查询多列 题目地址:查询多列_牛客题霸_牛客网 (nowcoder.com) 题解: SELECT device_id,gender,age,university FROM...user_profile SQL2 查询所有列 题目地址:查询所有列_牛客题霸_牛客网 (nowcoder.com) 题解: SELECT * FROM user_profile SQL3 查询结果去重...-DISTINCT 题目地址:查询结果去重_牛客题霸_牛客网 (nowcoder.com) 题解1: SELECT DISTINCT university FROM user_profile 题解2:...WHERE date_format(order_date,'%Y-%m')='2020-01' ORDER BY order_date 08-汇总数据-sum、count、max SQL24 确定已售出产品的总数...每个题目和每份试卷被作答的人数和次数 题解: select * from (select exam_id as tid, count(distinct uid) as uv,
select DISTINCT date(date) as "日期",id from demo01; 查询结果: ?...select *,row_number() over(PARTITION by id order by `日期`) as cum from (select DISTINCT date(date) as...step3:日期减去计数值得到结果 因为菌哥这里演示用的是hql,所以这里获取日期差值使用了date_sub函数。...cum from (select DISTINCT date(date) as `日期`,id from demo01)a)b; 查询结果: ?...by id order by `日期`) as cum from (select DISTINCT date(date) as `日期`,id from demo01)a)b)c GROUP BY id
WHERE 字段名 BETWEEN 初始值 AND 终止值 SELECT * FROM tb_stu WHERE age BETWEEN 0 AND 18 十三按月查询统计数据 SELECT * ...FROM tb_stu WHERE month(date) = ‘$_POST[date]’ ORDER BY date ; 注:SQL语言中提供了如下函数,利用这些函数可以很方便地实现按年、月、日进行查询... WHERE 查询条件 注:SQL语句中的DISTINCT必须与WHERE子句联合使用,否则输出的信息不会有变化 ,且字段不能用*代替 十六NOT与谓词进行组合条件的查询 (1)NOT BERWEEN... … AND … 对介于起始值和终止值间的数据时行查询 可改成 终止值 (2)IS NOT NULL 对非空值进行查询 (3)IS NULL 对空值进行查询 (4)NOT IN...二十对统计结果进行排序 函数SUM([ALL]字段名) 或 SUM([DISTINCT]字段名),可实现对字段的求和,函数中为ALL时为所有该字段所有记录求和,若为DISTINCT则为该字段所有不重复记录的字段求和
FROM 表名 WHERE 字段名 BETWEEN 初始值 AND 终止值 SELECT * FROM tb_stu WHERE age BETWEEN 0 AND 18 十三、按月查询统计数据 SELECT...* FROM tb_stu WHERE month(date) = ‘$_POST[date]’ ORDER BY date ; 注:SQL语言中提供了如下函数,利用这些函数可以很方便地实现按年、月、...字段名 FROM 表名 WHERE 查询条件 注:SQL语句中的DISTINCT必须与WHERE子句联合使用,否则输出的信息不会有变化 ,且字段不能用*代替 十六、NOT与谓词进行组合条件的查询 (1...)NOT BERWEEN … AND … 对介于起始值和终止值间的数据时行查询 可改成 终止值 (2)IS NOT NULL 对非空值进行查询 (3)IS NULL 对空值进行查询...二十、对统计结果进行排序 函数SUM([ALL]字段名) 或 SUM([DISTINCT]字段名),可实现对字段的求和,函数中为ALL时为所有该字段所有记录求和,若为DISTINCT则为该字段所有不重复记录的字段求和
map 结构, 不需要映射到一个 结构体中,可以写成如下: for update 在涉及并发的场景,往往需要加锁互斥,和 Java类似, Go 中也有加行锁的方式,加 for update 即可。...一般写法如下: // 为查询 SQL 添加额外的 SQL 操作 db.Set("gorm:query_option", "FOR UPDATE").First(&user, 10) //// SELECT...User{}).Group("name").Count(&count) count // => 3 去重统计 // 去重计数 DB.Model(&User{}).Distinct("name").Count...分组查询统计一般的写法如下: db.Table("orders").Select("date(created_at) as date, sum(amount) as total").Group("date...(created_at)").Having("sum(amount) > ?"
map 结构, 不需要映射到一个 结构体中,可以写成如下: for update 在涉及并发的场景,往往需要加锁互斥,和 Java 类似, Go 中也有加行锁的方式,加 for update 即可。...一般写法如下: // 为查询 SQL 添加额外的 SQL 操作 db.Set("gorm:query_option", "FOR UPDATE").First(&user, 10) //// SELECT...User{}).Group("name").Count(&count) count // => 3 去重统计 // 去重计数 DB.Model(&User{}).Distinct("name").Count...分组查询统计一般的写法如下: db.Table("orders").Select("date(created_at) as date, sum(amount) as total").Group("date...(created_at)").Having("sum(amount) > ?"
t where t.date like '2010-03%' group by substr(t.date,1,10) 例二: sql 数据分月统计,表中只有每天的数据,现在要求求一年中每个月的统计数据...(一条sql) SELECT MONTH ( 那个日期的字段 ), SUM( 需要统计的字段, 比如销售额什么的 ) FROM 表 WHERE YEAR ( 那个日期的字段 )...GROUP BY MONTH ( 那个日期的字段 ) 用SELECT语句对数据进行统计汇总 avg ([ALL|DISTINCT]列名) 求指定数字字段的平均值 sum ([ALL|DISTINCT...注: 使用GROUP BY 的语句仍可用ORDER BY子句排序 但必须在GROUP BY之后可以使用别名但不允许对SELECT没指定的列排序 HAVING子句是对分组统计后的查询结果进行筛选...HAVING子句不允许使用别名 HAVING子句必须和GROUP BY一起使用,且设置的条件必须与GROUP BY 子句指定的分组字段有关
/sql-reference/sql-functions/date-time-functions/date_format.html#description 从日期减去指定的时间间隔. mysql ->...false. mysql -> like doris -> STARTS_WITH (VARCHAR str, VARCHAR prefix) 返回 strlist 中第一次出现 str 的位置(从1开始计数...]) 返回字符串的字节. mysql -> length(VARCHAR str) doris -> length(VARCHAR str) 返回 substr 在 str 中出现的位置(从1开始计数...-> COUNT([DISTINCT] expr) doris -> COUNT([DISTINCT] expr) SQL语法差异: doris中不支持分组列再使用distinct MSYQL:..., we meet an error when parsing. mysql中支持部分多表联查分组后跟部分字段,doris需将非聚合查询字段都放在分组条件后 MYSQL: SELECT m_id,behavior
面试题和参考答案。...这些题目面向的 Google 职位包括:数据科学 家、数据分析师、商业智能 工程师、数据工程师和商业分析师。...图片ShowMeAI 制作了快捷即查即用的 SQL 速查表手册,大家可以在下述位置获得:编程语言速查表 | SQL 速查表 面试题 1:墨西哥和美国第三高峰图片问题: 请完成1个 SQL 来找出每个国家第三高的山名...) AS partitionFROM streaks; --一旦我们有了这个分区,问题就容易了,现在我们只需要计算每个用户和分区的记录数,并找到计数最多的用户。...完整的查询如下WITH next_dates AS( SELECT DISTINCT user_id, date
date(created_at) as time, 和 count(distinct user_id) as 每日学习用户数 这两个片段中,as 之前是表达式语句,as 之后是该语句运算结果的别名。...类似count()和sum()都是高频使用的基础函数。不过数据统计中,更常用到累加。...用户在某一天有多条留言,最终也只能为当天留言用户数贡献计数1 select date(created_at) as time, count(distinct user_id) as 每日留言用户数...只要该用户曾有过留言行为,则计数1,不再重复计数。...多表联合查询 最后说明下,相对复杂的多表查询。从多个表格、或表格和自定义数据源如data中合并查询。
我每天发布1道SQL面试真题,从简单到困难,涵盖所有SQL知识点,我敢保证只要做完这100道题,不仅能轻松搞定面试,代码能力和工作效率也会有明显提升。...巩固SQL语法,高效搞定工作:通过不断练习,能够熟悉SQL的语法和常用函数,掌握SQL核心知识点,提高SQL编写能力。代码能力提升了,工作效率自然高了。...编写一个 SQL 查询,报告每个安装日期、当天安装游戏的玩家数量和第一天的留存时间。...select install_dt,count(distinct player_id)installs, round(sum(if(datediff(event_date,install_dt...)=1,1,0))/count(distinct player_id),2) Day1_retention from ( select *,min(event_date) over(partition
那有没有更好的办法,其实在主语言中,这不过就是个分支语句的事情嘛,奈何SQL语言我不熟啊。。。...GROUP BY 分组 SELECT first_name,SUM(sales) FROM cookie_sales GROUP BY first_name ORDER BY SUM(sales) DESC...cookie_sales GROUP BY first_name ; SELECT first_name,MIN(sales) FROM cookie_sales GROUP BY first_name ; COUNT,计数...SELECT COUNT(sale_date) FROM cookie_sales ; DISTINCT,取独 SELECT DISTINCT sale_date FROM cookie_sales...ORDER BY sale_date ; SELECT COUNT(DISTINCT sale_date) FROM cookie_sales ; LIMIT:限制查询数量 SELECT first_name
Citus 对 sum()、avg() 和 count(distinct) 等某些聚合有内部规则,允许它重写查询以对 worker 进行部分聚合。...例如,按非分布列分组的 sum(x) 可以使用分布式执行,而 sum(distinct x) 必须将整个输入记录集拉到 coordinator。...SELECT sum(value1), sum(distinct value2) FROM distributed_table; 为避免意外将数据拉到 coordinator,可以设置一个 GUC:...如果不是,Citus 对每个 worker 运行 select distinct 语句, 并将列表返回给 coordinator,从中获取最终计数。...为了提高性能,您可以选择进行近似计数。请按照以下步骤操作: 在所有 PostgreSQL 实例(coordinator 和所有 worker)上下载并安装 hll 扩展。
|all]x) AVG([distinct|all]x) 【功能】统计数据表选中行x列的平均值。...([distinct|all]x) 【功能】统计数据表选中行x列的合计值。...> select SUM(distinct sal),SUM(all sal),SUM(sal) from table3; SUM(DISTINCTSAL) SUM(ALLSAL) SUM(SAL...count(*|[distinct|all]x) count(*|[distinct|all]x) 【功能】统计数据表选中行x列的合计值。...5555.55 zhu ---- 统计最小值 MIN([distinct|all]x) 【功能】统计数据表选中行x列的最小值。
在Oracle中,常见的聚合函数有:个数、和、平均数、最大值、最小值等。聚合函数通常是我们分析数据或者统计数据时较为常用。...2 聚合统计函数计数--COUNT这个函数必须常用,可以说每一个项目都不可以缺少的一个函数,却少了这个函数都感觉写的代码没灵魂了。计数函数是计算命中的行数,常常被用作聚合或分析函数。...【使用场景】COUNT函数除了会在列上做统计使用之外,还可以在WHERE子句、HAVING子句、ORDER BY子句中使用,这有点类似TO_CHAR和TO_DATE,不同的场景使用情况下,性能不同。...【使用场景】SUM函数还可以与其他SQL函数(如GROUP BY、HAVING等)结合使用,以执行更复杂的查询和计算。此外,SUM函数还常用于分析类的统计,统计结果集的每一行中计算累积总和。...【示例】查询每个部门里面最高工资SELECT COUNT(DISTINCT department_id), MAX(SALARY) FROM employees GROUP BY department_id
它们能够对数据进行汇总、统计和计算,常用于提取有关数据集的摘要信息。聚合函数在 SQL 查询中广泛应用,包括统计总数、平均值、最大值、最小值等。...2.2 SUM 基本用法 SUM 函数用于计算查询结果集中某列的数值总和。...OVER 子句是 SQL 中用于配合窗口函数进行灵活计算的关键字,通过指定分区、排序和行范围,可以对查询结果的特定窗口进行精确的聚合和分析。...5.5 LAG() 和 LEAD() LAG() 和 LEAD() 函数 LAG() 和 LEAD() 是 SQL 中的窗口函数,用于在查询结果中访问行之前或之后的数据。...优化查询 考虑查询优化: 如果 DISTINCT 是为了解决查询结果中的重复数据问题,可以考虑优化查询语句,确保关联条件和过滤条件的准确性。
领取专属 10元无门槛券
手把手带您无忧上云