少年阿賓

          那些青春的歲月

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            500 Posts :: 0 Stories :: 135 Comments :: 0 Trackbacks
           經常會看到這樣的SQL面試題,請用一條SQL語句統計出學生的總總成績,請用一條sql語句刪除表中重復的內容,但第一條保留。最近得閑,就試著寫了這么個demo,今天來這和大家分享下,如果大家有其他的sql題也可以拿出來大家一起討論,一起分享。

               先創建一個表:

          CREATE TABLE [dbo].[Score](
              [ID] [int] IDENTITY(1,1) PRIMARY KEY  NOT NULL,
              [Name] [nvarchar](50) NULL,
              [CID] [int] NULL,
              [Score] [int] NULL
           )

          INSERT INTO [Test].[dbo].[Score]([Name],[CID],[Score])VALUES('張三',1,60)
          INSERT INTO [Test].[dbo].[Score]([Name],[CID],[Score])VALUES('張三',2,70)
          INSERT INTO [Test].[dbo].[Score]([Name],[CID],[Score])VALUES('張三',3,80)
          INSERT INTO [Test].[dbo].[Score]([Name],[CID],[Score])VALUES('張三',4,90)

          INSERT INTO [Test].[dbo].[Score]([Name],[CID],[Score])VALUES('李四',1,60)
          INSERT INTO [Test].[dbo].[Score]([Name],[CID],[Score])VALUES('李四',2,70)
          INSERT INTO [Test].[dbo].[Score]([Name],[CID],[Score])VALUES('李四',3,80)
          INSERT INTO [Test].[dbo].[Score]([Name],[CID],[Score])VALUES('李四',4,90)

          INSERT INTO [Test].[dbo].[Score]([Name],[CID],[Score])VALUES('王五',1,60)
          INSERT INTO [Test].[dbo].[Score]([Name],[CID],[Score])VALUES('王五',2,70)
          INSERT INTO [Test].[dbo].[Score]([Name],[CID],[Score])VALUES('王五',3,80)
          INSERT INTO [Test].[dbo].[Score]([Name],[CID],[Score])VALUES('王五',4,90)


          好了,準備工作做完了,下面我們來寫兩條Sql語句,解決開始提出的那兩個問題

          A、統計學生的成績

          select name,SUM(Score)Score from Score group by Name

          B、刪除表中重復的記錄,因為這表中的name是有重復的,所以我們就直接用這表來test

          delete from Score where Name in 
          (select Name from Score group by Name having COUNT(name)>0)and ID 
           not in (select MIN(id) from Score group by Name having COUNT(Name)>0)
          好了,兩條語句解決了兩個問題.
          posted on 2012-07-08 10:39 abin 閱讀(523) 評論(0)  編輯  收藏 所屬分類: Database
          主站蜘蛛池模板: 彰化市| 德保县| 兴国县| 洛阳市| 萍乡市| 弋阳县| 孝义市| 兰西县| 喀什市| 乐东| 虞城县| 南岸区| 二连浩特市| 章丘市| 白玉县| 思南县| 山丹县| 黔西| 吴忠市| 特克斯县| 灵寿县| 浦江县| 浦县| 新乡市| 抚宁县| 云浮市| 合肥市| 临洮县| 东平县| 阜南县| 榆林市| 福清市| 海城市| 临颍县| 敦煌市| 绥江县| 太仆寺旗| 上犹县| 大竹县| 德钦县| 乌拉特前旗|