090901 T 面试中遇到的一个Sql Question

10k的面试中遇到的一个Sql Question,当时没有做完整,后来回到易车工作的时候又遇到这个问题,结果同事都没做出来。

问题:
表:
Category: ID Name
Items: ID CateID Name
获取某个Category中的第一个item,显示其及其category的内容

最后的解决方案:
select c.ID cID, c.Name cName, i.ID iID, i.Name iName
from Items i inner join Category c on i.CateID = c.ID
where i.ID in (
    select Min(ID) from Items group by CateID
)

时间: 2024-10-30 07:45:23

090901 T 面试中遇到的一个Sql Question的相关文章

想问朋友面试中遇到的一个算法题:

问题描述 想问朋友面试中遇到的一个算法题: Write a program in Java to assess a given string whether it complies with following patterns. Return true if a given string complies with these patterns else false. N = N1 + N2 N>= N1 >= N2 where N is the Nth element in the str

只有两个字段用一个sql语句查询出某个学生的姓名、成绩以及在表中的排名_数据库其它

昨天去面试时遇到一个这样的问题: 有一张成绩表,只有两个字段,姓名和成绩.怎样用一个sql语句查询出某个学生的姓名,成绩以及在表中的排名? 一时间我也想不出具体实现,我就提了两种思路:一种是通过join关联一个查询出他排名的sql语句:一种是通过group by来实现. 回答得连自己都觉得有点心虚.请问大家如何实现呢? 假设:表名字为Course,两个字段分别为name和score 实现语句: SELECT 学生,成绩, (SELECT COUNT(*) FROM 表 WHERE a.成绩<=成

select-oracle将查询的结果再存入到另一个表中,如何写sql或者说怎么实现

问题描述 oracle将查询的结果再存入到另一个表中,如何写sql或者说怎么实现 具体如select count(*) from test3;(test3表里面有8条数据) 将这个结果再insert到另一张表中.我试着写了 insert into sum select count(*) from test3;这个但是插入的数据不是8而是1,很郁闷 解决方案 insert into 目标表(字段列表) select 字段列表 from 原始表 能达到你的需求 解决方案二: count(*)是取多少

sql语句-表T(A)包含正整数,可能有重复,构造一个SQL语句查询不在表T中的最小正整数

问题描述 表T(A)包含正整数,可能有重复,构造一个SQL语句查询不在表T中的最小正整数 表T(A)包含正整数,可能有重复,构造一个SQL语句查询不在表T中的最小正整数,需要考虑表T包含或不包含正整数1两种情况.不能编程实现.考虑了半天没有很好的思路,请大家指点则个 解决方案 DECLARE @minvalue INT = select min(A) from T IF minvalue > 1 return 1 ELSE DECLARE @maxvalue INT = select max(A

c语言-在面试中遇到一个枚举类型相关问题

问题描述 在面试中遇到一个枚举类型相关问题 今天在面试中遇到的问题,不知道如何解决enum ADC__enlSRState{ ADC__nReset ADC__nActive ADC__nGetMux2 ADC__nGetMux3 ADC__nGetFuel ADC__nGetTwoPinSensors ADC__nlastState = ADC__nGetTwoPinSensors} 在这里ADC__nlastState起到了什么作用? 解决方案 应该是用在判断一个数值e是否是有效的枚举值的时

数据库-SQL表中如何增加一个自动的字段来描述此记录的更新时间

问题描述 SQL表中如何增加一个自动的字段来描述此记录的更新时间 如题,假设在表中建立一个F_Updatedatetime字段,当此记录被更新了,会自动将F_Updatedatetime置为更新记录的当前电脑时间? 解决方案 不需要什么自动字段,你在查询中插入getdate()就可以了. 解决方案二: 这通常需要用触发器来实现,在更新触发器中将F_Updatedatetime同时更新为当前时间. 解决方案三: 跟新这条记录是把这个字段也带上设值为new Date(); 解决方案四: 吧字段的值设

图片-SQL将列数据中字段的一个字符去除

问题描述 SQL将列数据中字段的一个字符去除 这个sgrade里数据前的's'是我通过update sc set sgrade='s'+sgrade加进去的,现在要去掉这个s怎么办 解决方案 update sc set sgrade=replace(sgrade, 's', '') 解决方案二: SQL 字段取字符位置与循环修改数据 解决方案三: 就操作而言,可以用字符串切割或者STRING操作按位从第二个字符读取,然后更新掉sgrage的值就可以了 解决方案四: 你的这个S 会有重复吗,没有重

怎么在SQL语句中再加一个字段呀!

问题描述 怎么在SQL语句中再加一个字段呀! String sql = "select tab.nid,tab.tid,tab.pdate,tab.psysdate,tab.pprice,tab.prodname," + "tab.auditstatus,tab.pnumber,tab.zprice,tab.companyId,tab.sno,tab.soeno,tab.provname from " + "(select n.id nid,t.id ti

面试中被一个问题问到了,关于EJB会话bean的,大侠进来帮忙解答一下

问题描述 简单地介绍下无状态会话bean和有状态会话bean的联系与差别? 解决方案 解决方案二:我是初学者,我也不会解决方案三:区别就在有没有状态.解决方案四:因为区别于有无状态,所以差别体现在可以服务任何请求,和服务于某一特定的请求解决方案五:状态指的就是这个类的属性.对于EJB容器来说,其会对StatelessSessionBean的实例进行重用,如果在StatelessSessionBean中有属性成员的话,会在重用这个对象时继续含有这个属性成员的值.而StatefulSessionBe