少年阿賓

          那些青春的歲月

            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 閱讀(526) 評論(0)  編輯  收藏 所屬分類: Database
          主站蜘蛛池模板: 铜山县| 宣威市| 平乡县| 昭通市| 雷州市| 太原市| 南投市| 宁乡县| 霞浦县| 犍为县| 双柏县| 鞍山市| 会理县| 尖扎县| 葫芦岛市| 碌曲县| 无为县| 开江县| 武宣县| 奇台县| 通州区| 华池县| 苗栗县| 富源县| 乳山市| 金寨县| 大宁县| 英吉沙县| 玛沁县| 团风县| 台东市| 象州县| 宁波市| 石屏县| 淮北市| 祁东县| 沙田区| 桦川县| 宁化县| 普定县| 比如县|