当前位置:编程学习 > C#/ASP.NET >>

求一SQL语句 谢谢

物品             数量          时间
飞机              1            2007-7-7
坦克              2            2007-7-7
飞机              6            2007-7-7
自行车            7            2007-7-7
飞机              6            2007-7-7
坦克              6            2007-7-7
火箭筒            11           2007-7-7

假设时间不一样
我要得到是   2007-7 月份
数量最多的 那个物品  
谢谢了 
不够了可以加分




--------------------编程问答-------------------- select max(数量) from YourTableName where 时间='2007-07' --------------------编程问答--------------------

SELECT TOP 1 * FROM 表 WHERE 时间属于7月份 ORDER BY 数量 DESC
--------------------编程问答-------------------- select top 1 * from YourTableName where left(时间,7)='2007-07' order by 数量 desc --------------------编程问答-------------------- select max(数量) from 表明 where 时间='2007-7' --------------------编程问答--------------------
引用 1 楼 li1234567654321 的回复:
select max(数量) from YourTableName where 时间='2007-07'

直接出来 --------------------编程问答-------------------- select top 1 * from Table where 时间='2007-07' order by 数量 desc --------------------编程问答-------------------- select 物品,count(*) from TB  WHRE DATEdiff(m,时间,'2007-07-01')=0 group by 物品 order by count(*) desc  --------------------编程问答-------------------- --------------------编程问答-------------------- 呵呵,第一个回答者粗心了,没看清楼主的问题,他要获取的是物品,不是数量,其他两楼的个人觉得都对的,但还是喜欢第二个回答者,够简洁! --------------------编程问答-------------------- select top  1 * from TB WHRE DATEdiff(m,时间,'2007-07-01')=0 order by 数量 desc  
 
--------------------编程问答-------------------- 二楼这一类的回答是正确的 --------------------编程问答-------------------- 唉,低级 --------------------编程问答--------------------
引用楼主 sarah10311 的回复:
物品 数量 时间
飞机 1 2007-7-7
坦克 2 2007-7-7
飞机 6 2007-7-7
自行车 7 2007-7-7
飞机 6 2007-7-7
坦克 6 2007-7-7
火箭筒 11 2007-7-7


select 物品,sum(数量) as 数量 from table where 时间='2007-7' group by 物品 order  数量 desc --------------------编程问答-------------------- 嘿嘿,不错,已经被抢答了! --------------------编程问答--------------------
引用 13 楼 liuh6 的回复:
引用楼主 sarah10311 的回复:
物品 数量 时间
飞机 1 2007-7-7
坦克 2 2007-7-7
飞机 6 2007-7-7
自行车 7 2007-7-7
飞机 6 2007-7-7
坦克 6 2007-7-7
火箭筒 11 2007-7-7

select 物品,sum(数量) as 数量 from table where 时间='2007-7' group……


+1 --------------------编程问答--------------------
引用 7 楼 wuyq11 的回复:
select 物品,count(*) from TB WHRE DATEdiff(m,时间,'2007-07-01')=0 group by 物品 order by count(*) desc


这位大大 正解 判断时间当然要用:DATEdiff() --------------------编程问答-------------------- select top 1 物品,count(*) from TB WHRE DATEpart(m,时间)=7 and DATEpart(yyyy ,时间)=2007 group by 物品 order by count(*) desc --------------------编程问答-------------------- SELECT TOP 1 * FROM 表 WHERE 时间属于7月份 ORDER BY 数量 DESC
--------------------编程问答--------------------
引用 2 楼 asdf311 的回复:
SQL code

SELECT TOP 1 * FROM 表 WHERE 时间属于7月份 ORDER BY 数量 DESC

如果是oracle的话top 1 和first是用不了的 --------------------编程问答-------------------- select max(数量) from YourTableName where 时间='2007-07' --------------------编程问答-------------------- 高手多了真是没有办法啊
--------------------编程问答-------------------- 汗,支持如梦的 --------------------编程问答-------------------- 学习一下.............................................. --------------------编程问答-------------------- select * from xxx where time='xxx' order by number desc --------------------编程问答-------------------- select 物品,max(sum(数量)) as num from 表 where 时间.year = '2007' and 时间.month = '07' order by num desc limit 1 --------------------编程问答-------------------- select * from(
        select t.product, sum(mount)
          from 表  t
         where to_char(时间, 'yyyymm') = to_char('2010-07-01', 'yyyymm')
         group by t.product
         order by sum(mount) desc) b
         where rownum=1 --------------------编程问答-------------------- 都是高手啊 --------------------编程问答-------------------- select 物品,sum(数量) as 数量 from table where 时间='2007-7' group by 物品 order 数量 desc
再取出第一条 --------------------编程问答-------------------- 奇形怪状 --------------------编程问答--------------------
引用 2 楼 asdf311 的回复:
SQL code

SELECT TOP 1 * FROM 表 WHERE 时间属于7月份 ORDER BY 数量 DESC

不够严谨,要是很多物品并列第一的话,你就不全了

select * from 数据表 where datepart(year,getdate())=2010 and datepart(month,getdate())=7 and
[数量]=(select max([数量]) from 数据表 where datepart(year,getdate())=2010 and datepart(month,getdate())=7) --------------------编程问答-------------------- 咦,好快啊,都被抢了。 --------------------编程问答-------------------- select 物品 where 时间="2007-1-1" order by 数量 desc


http://www.abab123.com/bbs/down.asp?html=1438240
在这里找找,可能对你有帮助 --------------------编程问答-------------------- 低级问题 自己查书关于 聚合函数部分 --------------------编程问答-------------------- 3楼的正解。

触摸屏、网站建设、软件开发
电话:020-84583695 
      联系人:綦先生 
      手机:13928807040
      联系人:姚小姐 
      手机:13928805540
      QQ:8346360
      EMail:bluehale@gmail.com  --------------------编程问答-------------------- 已经有答案了, --------------------编程问答-------------------- select name from 
(select top 1 name,SUM(shuliang) as ss from dbo.Table_2 where time='2007-7-7' group by name order by ss desc) as temp

得到你符合你要求的名字 --------------------编程问答-------------------- SELECT top 1 物品,Max(数量) FROM 表 WHERE 时间属于7月份 max(数量)desc group by 物品 --------------------编程问答-------------------- SELECT top 1 物品,Max(数量) FROM 表 WHERE 时间属于7月份 order by max(数量)desc group by 物品
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,