SQL學習_讓我知道自己懂得太少

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

DELETE

FROM

    UC_GROUP_USER_TMP

WHERE

    ROWID IN (

        SELECT

            A . ROWID

        FROM

            UC_GROUP_USER_TMP A,

            (

                                //獲取最小行號跟用戶名ID的數據,並group by user_id

                SELECT

                    MIN (ROWID) AS browid,

                    user_id

                FROM

                    UC_GROUP_USER_TMP

                WHERE

                    user_id IN (

                                                //記錄總數大於1的用戶信息

                        SELECT

                            user_id

                        FROM

                            (

                                SELECT

                                    COUNT (*) num,

                                    user_id

                                FROM

                                    UC_GROUP_USER_TMP

                                GROUP BY

                                    user_id //獲取所有user_id的記錄總數

                            )

                        WHERE

                            num > 1

                    )

                GROUP BY

                    user_id

            ) b

        WHERE

            A .user_id = b.user_id

        AND A . ROWID > b.browid

                //A的用戶id = B.user_id 並且 A.行號大於B的行號

    );

 

 

 

 

 

 

DELETE

FROM

    UC_ESTATE_USER_TMP

WHERE

    ROWID IN (

        SELECT

            A . ROWID

        FROM

            UC_ESTATE_USER_TMP A,

            (

        //獲取最小值的ID, user_id, company_code,TYPE號, 在進行group by user_id, company_code, "type"的值

                SELECT

                    MIN (ROWID) AS browid,

                    user_id,

                    company_code,

                    "TYPE"

                FROM

                    UC_ESTATE_USER_TMP

                //能這麼where 哦 where(user_id, company_code, type) IN(select user_id, company_code, type from ***);

        WHERE

                    (

                        user_id,

                        company_code,

                        "TYPE"

                    ) IN (

            //num值大於1的記錄例出來

                        SELECT

                            user_id,

                            company_code,

                            "TYPE"

                        FROM

                            (

                //將user_id, company_code, "TYPE"進行group三個值,user_id, company_code, TYPE的值

                                SELECT

                                    COUNT (*) num,

                                    user_id,

                                    company_code,

                                    "TYPE"

                                FROM

                                    UC_ESTATE_USER_TMP

                                GROUP BY

                                    user_id,

                                    company_code,

                                    "TYPE"

                            )

                        WHERE

                            num > 1

                    )

                GROUP BY

                    user_id,

                    company_code,

                    "TYPE"

            ) b

        WHERE

        A .user_id = b.user_id

        AND A .company_code = b.company_code

        AND A ."TYPE" = b."TYPE"

        AND A . ROWID > b.browid //這個大於讓我不能理解

http://blog.ccguitar.cn/?uid-795123-action-viewspace-itemid-77460

http://blog.ccguitar.cn/?uid-795123-action-viewspace-itemid-77461

http://blog.ccguitar.cn/?uid-795123-action-viewspace-itemid-77462

http://blog.ccguitar.cn/?uid-795123-action-viewspace-itemid-77463

http://blog.ccguitar.cn/?uid-795123-action-viewspace-itemid-77464

http://blog.ccguitar.cn/index.php?uid-795123-action-viewspace-itemid-77458

http://blog.ccguitar.cn/index.php?uid-795123-action-viewspace-itemid-77457

 

 

 

 

 

 

    );

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章