Guest User

Untitled

a guest
Jul 18th, 2018
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.88 KB | None | 0 0
  1. SELECT id
  2. FROM analyzes
  3. WHERE code IN
  4. (SELECT code
  5. FROM analyzes
  6. WHERE deleted = 1
  7. GROUP BY code
  8. HAVING count(code)>1)
  9.  
  10. SELECT code, deleted, MAX(deleted_date) FROM analyzes WHERE deleted = 1 GROUP BY code, deleted;
  11.  
  12. SELECT id, code
  13. FROM analyzes t
  14. WHERE deleted = 1
  15. AND deleted_date =
  16. (select max(deleted_date)
  17. from analyzes a
  18. where t.code = a.code
  19. and a.deleted = 1)
  20.  
  21. create table `analyzes`
  22. (
  23. `id` int,
  24. `code` varchar(10),
  25. `deleted` int,
  26. `deleted_date` int
  27. );
  28.  
  29. insert into `analyzes` (`id`,`code`,`deleted`,`deleted_date`) values
  30. ( 1,'01.00.002',1,1),
  31. ( 2,'01.00.002',1,2),
  32. (15,'01.00.002',1,3),
  33. ( 3,'01.00.005',1,2),
  34. (17,'01.00.005',1,1),
  35. (16,'01.00.006',0,1),
  36. (18,'01.00.007',1,1),
  37. (19,'01.00.007',0,2);
  38.  
  39. select * from `analyzes`;
  40.  
  41. with `t1` as (
  42. with `t0` as (
  43. select
  44. `id`,
  45. `code`,
  46. `deleted_date` ,
  47. max(`deleted_date`) over(partition by `code` order by `code`) `deleted_date_max`
  48. from `analyzes`
  49. where
  50. `deleted` = 1
  51. )
  52. select
  53. `id`,
  54. `code`,
  55. `deleted_date`
  56. from `t0`
  57. where `deleted_date` = `deleted_date_max`
  58. ),
  59. `t2` as (
  60. select
  61. `code`
  62. from `analyzes`
  63. where `deleted` = 0
  64. )
  65. select
  66. `t1`.`id`
  67. from `t1`
  68. left join `t2` on `t1`.`code` = `t2`.`code`
  69. where
  70. `t2`. `code` is null
  71.  
  72. with `t1` as (
  73. with `t0` as (
  74. select
  75. `id`,
  76. `code`,
  77. `deleted_date` ,
  78. max(`deleted_date`) over(partition by `code` order by `code`) `deleted_date_max`
  79. from `analyzes`
  80. where
  81. `deleted` = 1
  82. )
  83. select
  84. `id`,
  85. `code`,
  86. `deleted_date`
  87. from `t0`
  88. where `deleted_date` = `deleted_date_max`
  89. ),
  90. `t2` as (
  91. select
  92. `code`
  93. from `analyzes`
  94. where `deleted` = 0
  95. )
  96. select
  97. `t1`.`id`
  98. from `t1`
  99. left join `t2` on `t1`.`code` = `t2`.`code`
  100. where
  101. `t2`. `code` is null
Add Comment
Please, Sign In to add comment