面试时遇到的SQL

CustomerID DateTime ProductName Price
C001 2014-11-20 16:02:59 123 PVC 100
C001 2014-11-19 16:02:59 123 POM 310
C001 2014-10-18 16:02:59 123 HDPE 400
C001 2014-10-17 16:02:59 123 PET 200
C002 2014-09-17 16:02:59 123 EVA 300
C002 2014-09-20 16:02:59 123 PET 210
C003 2014-11-20 16:02:59 123 HDPE 600
C003 2014-08-20 16:02:59 123 POM 300
C003 2014-08-10 16:02:59 123 EVA 310

这是我面试时遇到的一道题目。

如图所示,CustomerID和DateTime是主键,求每个CustomerID每个月最高Price的订单,以及商品名字。

也就是得到如下结果:

 
CustomerID Month ProductName MaxPrice
C001 11 POM 310
C001 10 HDPE 400
C002 9 EVA 300
C003 11 HDPE 600
C003 8 POM 300

怎么写SQL呢?

我的思路是这样的,不知道对不对。

Select T2.CustomerID,T2.Month,Tbl.ProductName,T2.MaxPrice

From

(

Select CustomerID,Datetime.Month Month,MaxPrice

From Tbl

Group by Tbl.CustomerID,Datetime.Month

) T2

Inner Join Tbl

On T2.CustomerID = Tbl.CustomerID

And T2.Month = Tbl.DateTime.Month

And T2.MaxPrice = Tbl.Price

时间: 2024-08-30 01:21:25

面试时遇到的SQL的相关文章

面试时,当你有权提问时,别客气,这是个逆转的好机会(内容摘自Java Web轻量级开发面试教程)

前些天,我在博客园里写了篇文章,如何在面试中介绍自己的项目经验,收获了2千多个点击,这无疑鼓舞了我继续分享的热情,今天我来分享另外一个面试中的甚至可以帮助大家逆转的技巧,本文来是从 java web轻量级开发面试教程从摘录的. -------------------------------------------------------------------------------------------------------------------------------- 1 问题的背景

在做技术面试官时,我是这样甄别大忽悠的——如果面试时你有这样的表现,估计悬

记得我刚做技术面试官的时候,还比较单纯,别人说什么就信什么.这本来也没多大的错,虽然有些候选人会夸张自己的技能,但毕竟大多数候选人都是比较诚实的,相信绝大多数的技术面试官也像我这样,会以君子之心度人的. 但我面试了一阵后,有项目经理向我反映,经我手面试通过的一些候选人有存在实际技能与简历上描述不符的情况,比如简历上写的是熟悉Linux操作,但实际也就会几个命令,又如简历上写的是熟悉Spring Cloud,也有实际项目经验,但后来发现他其实没做过Spring Cloud的实际项目,简历上的项目是

Java程序员如何在面试时短时间内让面试官刮目相看?

前言 技术面试是每一位程序员都会经历的一件事情,技术面试官会通过自己的方式去考察程序员的技术功底与基础理论知识,这个过程被有的程序员成为"造火箭式的技术轰炸",不同程序员的面试经历与体验也是千差万别,各种奇怪,奇葩的情况也是层出不穷. 而很多Java程序员在面试时都有这样的苦衷: 我掌握了很多Java开发技巧,每次到笔试环节,死活就是答不上: 明明是一个职场老手,和面试官聊天,简单的技术问题都吞吞吐吐: Java程序员如何在面试时短时间内爆出核心技术?让对面的"不速之客&qu

程序员在面试时更好的介绍项目经历

在面试时,经过寒暄后,一般面试官会让你介绍项目经验.常见的问法是:“说下你最近的(或最拿得出手的)一个项目”. 根据我的面试经验,发现有不少程序员对此没准备,说起来磕磕巴巴,甚至有人说出项目经验从时间段或技术等方面和简历上的不匹配,这样就会造成如下的后果. 第一印象就不好了,至少会感觉该候选人表述能力不强. 一般来说,面试官会根据程序员介绍的项目背景来提问题.假设面试时会问10个问题,那么至少有5个问题会根据程序员所介绍的项目背景来问,程序员如果没说好,那么就没法很好地引导后继问题了,就相当于把

连接mysql时提示java.sql.SQLException: Access denied for user 'root'@'DESKTOP-N2B2D9A' (using password: YES)

用root连接mysql时提示:访问被拒绝 检查一下mysql server是否开启,发现后台在运行着..  然后查了一下mysql的用户表,发现root只能运行使用本地ip(localhost或者127.0.0.1)进行连接 解决方法:新开一个权限GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'jeffw' WITH GRANT OPTION; 然后查询一下:select * from user; 新开的root的已经开启权限,

打开较大存储量的.sql文件时,出现SQL Server 阻止了对组件 'xp_cmdshell' 的 过程'sys.xp_cmdshell' 的访问

1. “消息 15281,级别 16,状态 1,过程 xp_cmdshell,第 1 行SQL Server 阻止了对组件 'xp_cmdshell' 的 过程'sys.xp_cmdshell' 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭.系统管理员可以通过使用 sp_configure 启用 'xp_cmdshell'.有关启用 'xp_cmdshell' 的详细信息,请参阅 SQL Server 联机丛书中的 "外围应用配置器". ” 解决方法: sqlserver2

tomcat dbcp 基于jndi配置时出现java.sql.SQLException: Already closed

最近观察生产环境发现一个现象,一段时间不操作,再重新操作时,数据库连接第一次会出现:java.sql.SQLException: Already closed.,如下: 数据源是用tomcat dbcp 基于jndi配置管理的,查了下,如下: 原因: You're probably running into the fact that MYSQL closes connections  which have been open "too long". Probably if you m

跳槽面试时不能说北京赛车重庆时时踩源码下载平台出租出售的六大离职理由

夏天过去后,9月北京赛车重庆时时踩源码下载平台出租出售[大神源码论坛]dsluntan.com [布丁源码论坛]budingbbs.com 企娥3393756370又是求职和跳槽的黄金时段,想要跳槽的你需要注意了:"你为什么从上一家公司离职?"面试时这个问题是避无可避的. 什么样的理由才能做到既反映实际情况,又能得到HR认可呢?这六种雷千万不能踩! 一.说公司坏话 面试的时候一直对前公司百般攀扯,说公司管理垃圾,规定苛刻:领导人多么糟糕,对下属如何坏.你必定过不了面试关. 因为HR对你

面试时经常会被问到的 3 个问题

前几天,我在<简历中打动人的 3 个关键点>和<简历中千万不要出现的 3 个问题>中讲了一些写简历的注意事项,今天想聊聊在面试过程中,如何更好的体现出自己的真实实力. 面试时,我经常会拿下面 3 个问题开场: 1.请做个简短的自我介绍:2.简单介绍一个自己参与度比较高的项目,以及自己在项目中的职责:3.简单描述下你在项目中发现的最有成就感的 Bug: 下面我分别针对这 3 个问题逐一做下说明. 1.请做个简短的自我介绍: 大部分的鸡汤文或者面经给出的建议可能是这样: 面试官你好,我