Advertisement
Guest User

Untitled

a guest
Apr 20th, 2014
49
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.02 KB | None | 0 0
  1. Id Name Other_Columns
  2. -------------------------
  3. 1 A A_data_1
  4. 2 A A_data_2
  5. 3 A A_data_3
  6. 4 B B_data_1
  7. 5 B B_data_2
  8. 6 C C_data_1
  9.  
  10. 1 A A_data_1
  11. 4 B B_data_1
  12. 6 C C_data_1
  13.  
  14. 3 A A_data_3
  15. 5 B B_data_2
  16. 6 C C_data_1
  17.  
  18. select * from (select * from messages ORDER BY id DESC) AS x GROUP BY name
  19.  
  20. SELECT m1.*
  21. FROM messages m1 LEFT JOIN messages m2
  22. ON (m1.name = m2.name AND m1.id < m2.id)
  23. WHERE m2.id IS NULL;
  24.  
  25. SELECT p1.postid
  26. FROM Posts p1
  27. INNER JOIN (SELECT pi.owneruserid, MAX(pi.postid) AS maxpostid
  28. FROM Posts pi GROUP BY pi.owneruserid) p2
  29. ON (p1.postid = p2.maxpostid)
  30. WHERE p1.owneruserid = 20860;
  31.  
  32. 1 row in set (1 min 17.89 sec)
  33.  
  34. +----+-------------+------------+--------+----------------------------+-------------+---------+--------------+---------+-------------+
  35. | id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
  36. +----+-------------+------------+--------+----------------------------+-------------+---------+--------------+---------+-------------+
  37. | 1 | PRIMARY | <derived2> | ALL | NULL | NULL | NULL | NULL | 76756 | |
  38. | 1 | PRIMARY | p1 | eq_ref | PRIMARY,PostId,OwnerUserId | PRIMARY | 8 | p2.maxpostid | 1 | Using where |
  39. | 2 | DERIVED | pi | index | NULL | OwnerUserId | 8 | NULL | 1151268 | Using index |
  40. +----+-------------+------------+--------+----------------------------+-------------+---------+--------------+---------+-------------+
  41. 3 rows in set (16.09 sec)
  42.  
  43. SELECT p1.postid
  44. FROM Posts p1 LEFT JOIN posts p2
  45. ON (p1.owneruserid = p2.owneruserid AND p1.postid < p2.postid)
  46. WHERE p2.postid IS NULL AND p1.owneruserid = 20860;
  47.  
  48. 1 row in set (0.28 sec)
  49.  
  50. +----+-------------+-------+------+----------------------------+-------------+---------+-------+------+--------------------------------------+
  51. | id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
  52. +----+-------------+-------+------+----------------------------+-------------+---------+-------+------+--------------------------------------+
  53. | 1 | SIMPLE | p1 | ref | OwnerUserId | OwnerUserId | 8 | const | 1384 | Using index |
  54. | 1 | SIMPLE | p2 | ref | PRIMARY,PostId,OwnerUserId | OwnerUserId | 8 | const | 1384 | Using where; Using index; Not exists |
  55. +----+-------------+-------+------+----------------------------+-------------+---------+-------+------+--------------------------------------+
  56. 2 rows in set (0.00 sec)
  57.  
  58. CREATE TABLE `posts` (
  59. `PostId` bigint(20) unsigned NOT NULL auto_increment,
  60. `PostTypeId` bigint(20) unsigned NOT NULL,
  61. `AcceptedAnswerId` bigint(20) unsigned default NULL,
  62. `ParentId` bigint(20) unsigned default NULL,
  63. `CreationDate` datetime NOT NULL,
  64. `Score` int(11) NOT NULL default '0',
  65. `ViewCount` int(11) NOT NULL default '0',
  66. `Body` text NOT NULL,
  67. `OwnerUserId` bigint(20) unsigned NOT NULL,
  68. `OwnerDisplayName` varchar(40) default NULL,
  69. `LastEditorUserId` bigint(20) unsigned default NULL,
  70. `LastEditDate` datetime default NULL,
  71. `LastActivityDate` datetime default NULL,
  72. `Title` varchar(250) NOT NULL default '',
  73. `Tags` varchar(150) NOT NULL default '',
  74. `AnswerCount` int(11) NOT NULL default '0',
  75. `CommentCount` int(11) NOT NULL default '0',
  76. `FavoriteCount` int(11) NOT NULL default '0',
  77. `ClosedDate` datetime default NULL,
  78. PRIMARY KEY (`PostId`),
  79. UNIQUE KEY `PostId` (`PostId`),
  80. KEY `PostTypeId` (`PostTypeId`),
  81. KEY `AcceptedAnswerId` (`AcceptedAnswerId`),
  82. KEY `OwnerUserId` (`OwnerUserId`),
  83. KEY `LastEditorUserId` (`LastEditorUserId`),
  84. KEY `ParentId` (`ParentId`),
  85. CONSTRAINT `posts_ibfk_1` FOREIGN KEY (`PostTypeId`) REFERENCES `posttypes` (`PostTypeId`)
  86. ) ENGINE=InnoDB;
  87.  
  88. SELECT test_id, MAX(request_id), request_id
  89. FROM testresults
  90. GROUP BY test_id DESC;
  91.  
  92. SELECT test_id, request_id
  93. FROM (
  94. SELECT test_id, MAX(request_id), request_id
  95. FROM testresults
  96. GROUP BY test_id DESC) as ids
  97. ORDER BY test_id;
  98.  
  99. SELECT test_id, request_id
  100. FROM testresults, (SELECT @group:=NULL) as init
  101. WHERE IF(IFNULL(@group, -1)=@group:=test_id, 0, 1)
  102. ORDER BY test_id DESC, request_id DESC
  103.  
  104. select
  105. a.*
  106. from
  107. messages a
  108. inner join
  109. (select name, max(id) as maxid from messages group by name) as b on
  110. a.id = b.maxid
  111.  
  112. select
  113. a.*
  114. from
  115. messages a
  116. inner join
  117. (select name, max(other_col) as other_col
  118. from messages group by name) as b on
  119. a.name = b.name
  120. and a.other_col = b.other_col
  121.  
  122. WITH Ranked AS (
  123. SELECT Id, Name, OtherColumns,
  124. ROW_NUMBER() OVER (
  125. PARTITION BY Name
  126. ORDER BY Id DESC
  127. ) AS rk
  128. FROM messages
  129. )
  130. SELECT Id, Name, OtherColumns
  131. FROM messages
  132. WHERE rk = 1;
  133.  
  134. SELECT
  135. Id, Name, OtherColumns
  136. FROM messages
  137. WHERE NOT EXISTS (
  138. SELECT * FROM messages as M2
  139. WHERE M2.Name = messages.Name
  140. AND M2.Id > messages.Id
  141. )
  142.  
  143. select * from messages where id in
  144. (select max(id) from messages group by Name)
  145.  
  146. select m1.* from messages m1
  147. left outer join messages m2
  148. on ( m1.id<m2.id and m1.name=m2.name )
  149. where m2.id is null
  150.  
  151. SELECT jos_categories.title AS name,
  152. joined .catid,
  153. joined .title,
  154. joined .introtext
  155. FROM jos_categories
  156. INNER JOIN (SELECT *
  157. FROM (SELECT `title`,
  158. catid,
  159. `created`,
  160. introtext
  161. FROM `jos_content`
  162. WHERE `sectionid` = 6
  163. ORDER BY `id` DESC) AS yes
  164. GROUP BY `yes`.`catid` DESC
  165. ORDER BY `yes`.`created` DESC) AS joined
  166. ON( joined.catid = jos_categories.id )
  167.  
  168. SELECT *, Max(Id) FROM messages GROUP BY Name
  169.  
  170. SELECT M1.*
  171. FROM MESSAGES M1,
  172. (
  173. SELECT SUBSTR(Others_data,1,2),MAX(Others_data) AS Max_Others_data
  174. FROM MESSAGES
  175. GROUP BY 1
  176. ) M2
  177. WHERE M1.Others_data = M2.Max_Others_data
  178. ORDER BY Others_data;
  179.  
  180. SELECT id, name, other_columns
  181. FROM messages
  182. WHERE id IN (
  183. SELECT MAX(id)
  184. FROM messages
  185. GROUP BY name
  186. );
  187.  
  188. DELETE FROM messages WHERE id NOT IN
  189. (SELECT m1.id
  190. FROM messages m1 LEFT JOIN messages m2
  191. ON (m1.name = m2.name AND m1.id < m2.id)
  192. WHERE m2.id IS NULL)
  193.  
  194. DROP TABLE IF EXISTS UniqueIDs;
  195. CREATE Temporary table UniqueIDs (id Int(11));
  196.  
  197. INSERT INTO UniqueIDs
  198. (SELECT T1.ID FROM Table T1 LEFT JOIN Table T2 ON
  199. (T1.Field1 = T2.Field1 AND T1.Field2 = T2.Field2 #Comparison Fields
  200. AND T1.ID < T2.ID)
  201. WHERE T2.ID IS NULL);
  202.  
  203. DELETE FROM Table WHERE id NOT IN (SELECT ID FROM UniqueIDs);
  204.  
  205. SELECT
  206. `Id`,
  207. `Name`,
  208. SUBSTRING_INDEX(
  209. GROUP_CONCAT(
  210. `Other_Columns`
  211. ORDER BY `Id` DESC
  212. SEPARATOR '||'
  213. ),
  214. '||',
  215. 1
  216. ) Other_Columns
  217. FROM
  218. messages
  219. GROUP BY `Name`
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement