distinct.result
上传用户:romrleung
上传日期:2022-05-23
资源大小:18897k
文件大小:16k
源码类别:

MySQL数据库

开发平台:

Visual C++

  1. drop table if exists t1,t2,t3;
  2. CREATE TABLE t1 (id int,facility char(20));
  3. CREATE TABLE t2 (facility char(20));
  4. INSERT INTO t1 VALUES (NULL,NULL);
  5. INSERT INTO t1 VALUES (-1,'');
  6. INSERT INTO t1 VALUES (0,'');
  7. INSERT INTO t1 VALUES (1,'/L');
  8. INSERT INTO t1 VALUES (2,'A01');
  9. INSERT INTO t1 VALUES (3,'ANC');
  10. INSERT INTO t1 VALUES (4,'F01');
  11. INSERT INTO t1 VALUES (5,'FBX');
  12. INSERT INTO t1 VALUES (6,'MT');
  13. INSERT INTO t1 VALUES (7,'P');
  14. INSERT INTO t1 VALUES (8,'RV');
  15. INSERT INTO t1 VALUES (9,'SRV');
  16. INSERT INTO t1 VALUES (10,'VMT');
  17. INSERT INTO t2 SELECT DISTINCT FACILITY FROM t1;
  18. select id from t1 group by id;
  19. id
  20. NULL
  21. -1
  22. 0
  23. 1
  24. 2
  25. 3
  26. 4
  27. 5
  28. 6
  29. 7
  30. 8
  31. 9
  32. 10
  33. select * from t1 order by id;
  34. id facility
  35. NULL NULL
  36. -1
  37. 0
  38. 1 /L
  39. 2 A01
  40. 3 ANC
  41. 4 F01
  42. 5 FBX
  43. 6 MT
  44. 7 P
  45. 8 RV
  46. 9 SRV
  47. 10 VMT
  48. select id-5,facility from t1 order by "id-5";
  49. id-5 facility
  50. NULL NULL
  51. -6
  52. -5
  53. -4 /L
  54. -3 A01
  55. -2 ANC
  56. -1 F01
  57. 0 FBX
  58. 1 MT
  59. 2 P
  60. 3 RV
  61. 4 SRV
  62. 5 VMT
  63. select id,concat(facility) from t1 group by id ;
  64. id concat(facility)
  65. NULL NULL
  66. -1
  67. 0
  68. 1 /L
  69. 2 A01
  70. 3 ANC
  71. 4 F01
  72. 5 FBX
  73. 6 MT
  74. 7 P
  75. 8 RV
  76. 9 SRV
  77. 10 VMT
  78. select id+0 as a,max(id),concat(facility) as b from t1 group by a order by b desc,a;
  79. a max(id) b
  80. 10 10 VMT
  81. 9 9 SRV
  82. 8 8 RV
  83. 7 7 P
  84. 6 6 MT
  85. 5 5 FBX
  86. 4 4 F01
  87. 3 3 ANC
  88. 2 2 A01
  89. 1 1 /L
  90. -1 -1
  91. 0 0
  92. NULL NULL NULL
  93. select id >= 0 and id <= 5 as grp,count(*) from t1 group by grp;
  94. grp count(*)
  95. NULL 1
  96. 0 6
  97. 1 6
  98. SELECT DISTINCT FACILITY FROM t1;
  99. FACILITY
  100. NULL
  101. /L
  102. A01
  103. ANC
  104. F01
  105. FBX
  106. MT
  107. P
  108. RV
  109. SRV
  110. VMT
  111. SELECT FACILITY FROM t2;
  112. FACILITY
  113. NULL
  114. /L
  115. A01
  116. ANC
  117. F01
  118. FBX
  119. MT
  120. P
  121. RV
  122. SRV
  123. VMT
  124. SELECT count(*) from t1,t2 where t1.facility=t2.facility;
  125. count(*)
  126. 12
  127. select count(facility) from t1;
  128. count(facility)
  129. 12
  130. select count(*) from t1;
  131. count(*)
  132. 13
  133. select count(*) from t1 where facility IS NULL;
  134. count(*)
  135. 1
  136. select count(*) from t1 where facility = NULL;
  137. count(*)
  138. 0
  139. select count(*) from t1 where facility IS NOT NULL;
  140. count(*)
  141. 12
  142. select count(*) from t1 where id IS NULL;
  143. count(*)
  144. 1
  145. select count(*) from t1 where id IS NOT NULL;
  146. count(*)
  147. 12
  148. drop table t1,t2;
  149. CREATE TABLE t1 (UserId int(11) DEFAULT '0' NOT NULL);
  150. INSERT INTO t1 VALUES (20);
  151. INSERT INTO t1 VALUES (27);
  152. SELECT UserId FROM t1 WHERE Userid=22;
  153. UserId
  154. SELECT UserId FROM t1 WHERE UserId=22 group by Userid;
  155. UserId
  156. SELECT DISTINCT UserId FROM t1 WHERE UserId=22 group by Userid;
  157. UserId
  158. SELECT DISTINCT UserId FROM t1 WHERE UserId=22;
  159. UserId
  160. drop table t1;
  161. CREATE TABLE t1 (a int(10) unsigned not null primary key,b int(10) unsigned);
  162. INSERT INTO t1 VALUES (1,1),(2,1),(3,1),(4,1);
  163. CREATE TABLE t2 (a int(10) unsigned not null, key (A));
  164. INSERT INTO t2 VALUES (1),(2);
  165. CREATE TABLE t3 (a int(10) unsigned, key(A), b text);
  166. INSERT INTO t3 VALUES (1,'1'),(2,'2');
  167. SELECT DISTINCT t3.b FROM t3,t2,t1 WHERE t3.a=t1.b AND t1.a=t2.a;
  168. b
  169. 1
  170. INSERT INTO t2 values (1),(2),(3);
  171. INSERT INTO t3 VALUES (1,'1'),(2,'2'),(1,'1'),(2,'2');
  172. explain SELECT distinct t3.a FROM t3,t2,t1 WHERE t3.a=t1.b AND t1.a=t2.a;
  173. id select_type table type possible_keys key key_len ref rows Extra
  174. 1 SIMPLE t1 ALL PRIMARY NULL NULL NULL 4 Using temporary
  175. 1 SIMPLE t3 ref a a 5 test.t1.b 2 Using where; Using index
  176. 1 SIMPLE t2 index a a 4 NULL 4 Using where; Using index; Distinct
  177. SELECT distinct t3.a FROM t3,t2,t1 WHERE t3.a=t1.b AND t1.a=t2.a;
  178. a
  179. 1
  180. create temporary table t4 select * from t3;
  181. insert into t3 select * from t4;
  182. insert into t4 select * from t3;
  183. insert into t3 select * from t4;
  184. insert into t4 select * from t3;
  185. insert into t3 select * from t4;
  186. insert into t4 select * from t3;
  187. insert into t3 select * from t4;
  188. explain select distinct t1.a from t1,t3 where t1.a=t3.a;
  189. id select_type table type possible_keys key key_len ref rows Extra
  190. 1 SIMPLE t1 index PRIMARY PRIMARY 4 NULL 4 Using index; Using temporary
  191. 1 SIMPLE t3 ref a a 5 test.t1.a 11 Using where; Using index; Distinct
  192. select distinct t1.a from t1,t3 where t1.a=t3.a;
  193. a
  194. 1
  195. 2
  196. select distinct 1 from t1,t3 where t1.a=t3.a;
  197. 1
  198. 1
  199. explain SELECT distinct t1.a from t1;
  200. id select_type table type possible_keys key key_len ref rows Extra
  201. 1 SIMPLE t1 index NULL PRIMARY 4 NULL 4 Using index
  202. explain SELECT distinct t1.a from t1 order by a desc;
  203. id select_type table type possible_keys key key_len ref rows Extra
  204. 1 SIMPLE t1 index NULL PRIMARY 4 NULL 4 Using index
  205. explain SELECT t1.a from t1 group by a order by a desc;
  206. id select_type table type possible_keys key key_len ref rows Extra
  207. 1 SIMPLE t1 index NULL PRIMARY 4 NULL 4 Using index
  208. explain SELECT distinct t1.a from t1 order by a desc limit 1;
  209. id select_type table type possible_keys key key_len ref rows Extra
  210. 1 SIMPLE t1 index NULL PRIMARY 4 NULL 4 Using index
  211. explain SELECT distinct a from t3 order by a desc limit 2;
  212. id select_type table type possible_keys key key_len ref rows Extra
  213. 1 SIMPLE t3 index NULL a 5 NULL 204 Using index
  214. explain SELECT distinct a,b from t3 order by a+1;
  215. id select_type table type possible_keys key key_len ref rows Extra
  216. 1 SIMPLE t3 ALL NULL NULL NULL NULL 204 Using temporary; Using filesort
  217. explain SELECT distinct a,b from t3 order by a limit 10;
  218. id select_type table type possible_keys key key_len ref rows Extra
  219. 1 SIMPLE t3 index NULL a 5 NULL 204 Using temporary
  220. explain SELECT a,b from t3 group by a,b order by a+1;
  221. id select_type table type possible_keys key key_len ref rows Extra
  222. 1 SIMPLE t3 ALL NULL NULL NULL NULL 204 Using temporary; Using filesort
  223. drop table t1,t2,t3,t4;
  224. CREATE TABLE t1 (name varchar(255));
  225. INSERT INTO t1 VALUES ('aa'),('ab'),('ac'),('ad'),('ae');
  226. SELECT DISTINCT * FROM t1 LIMIT 2;
  227. name
  228. aa
  229. ab
  230. SELECT DISTINCT name FROM t1 LIMIT 2;
  231. name
  232. aa
  233. ab
  234. SELECT DISTINCT 1 FROM t1 LIMIT 2;
  235. 1
  236. 1
  237. drop table t1;
  238. CREATE TABLE t1 (
  239. ID int(11) NOT NULL auto_increment,
  240. NAME varchar(75) DEFAULT '' NOT NULL,
  241. LINK_ID int(11) DEFAULT '0' NOT NULL,
  242. PRIMARY KEY (ID),
  243. KEY NAME (NAME),
  244. KEY LINK_ID (LINK_ID)
  245. );
  246. INSERT INTO t1 (ID, NAME, LINK_ID) VALUES (1,'Mike',0),(2,'Jack',0),(3,'Bill',0);
  247. CREATE TABLE t2 (
  248. ID int(11) NOT NULL auto_increment,
  249. NAME varchar(150) DEFAULT '' NOT NULL,
  250. PRIMARY KEY (ID),
  251. KEY NAME (NAME)
  252. );
  253. SELECT DISTINCT
  254. t2.id AS key_link_id,
  255. t2.name AS link
  256. FROM t1
  257. LEFT JOIN t2 ON t1.link_id=t2.id
  258. GROUP BY t1.id
  259. ORDER BY link;
  260. key_link_id link
  261. NULL NULL
  262. drop table t1,t2;
  263. create table t1 (
  264. id int not null,
  265. name tinytext not null,
  266. unique (id)
  267. );
  268. create table t2 (
  269. id int not null,
  270. idx int not null,
  271. unique (id, idx)
  272. );
  273. create table t3 (
  274. id int not null,
  275. idx int not null,
  276. unique (id, idx)
  277. );
  278. insert into t1 values (1,'yes'), (2,'no');
  279. insert into t2 values (1,1);
  280. insert into t3 values (1,1);
  281. EXPLAIN
  282. SELECT DISTINCT
  283. t1.id
  284. from
  285. t1
  286. straight_join
  287. t2
  288. straight_join
  289. t3
  290. straight_join
  291. t1 as j_lj_t2 left join t2 as t2_lj
  292. on j_lj_t2.id=t2_lj.id
  293. straight_join
  294. t1 as j_lj_t3 left join t3 as t3_lj
  295. on j_lj_t3.id=t3_lj.id
  296. WHERE
  297. ((t1.id=j_lj_t2.id AND t2_lj.id IS NULL) OR (t1.id=t2.id AND t2.idx=2))
  298. AND ((t1.id=j_lj_t3.id AND t3_lj.id IS NULL) OR (t1.id=t3.id AND t3.idx=2));
  299. id select_type table type possible_keys key key_len ref rows Extra
  300. 1 SIMPLE t1 index id id 4 NULL 2 Using index; Using temporary
  301. 1 SIMPLE t2 index id id 8 NULL 1 Using index; Distinct
  302. 1 SIMPLE t3 index id id 8 NULL 1 Using index; Distinct
  303. 1 SIMPLE j_lj_t2 index id id 4 NULL 2 Using where; Using index; Distinct
  304. 1 SIMPLE t2_lj ref id id 4 test.j_lj_t2.id 1 Using where; Using index; Distinct
  305. 1 SIMPLE j_lj_t3 index id id 4 NULL 2 Using where; Using index; Distinct
  306. 1 SIMPLE t3_lj ref id id 4 test.j_lj_t3.id 1 Using where; Using index; Distinct
  307. SELECT DISTINCT
  308. t1.id
  309. from
  310. t1
  311. straight_join
  312. t2
  313. straight_join
  314. t3
  315. straight_join
  316. t1 as j_lj_t2 left join t2 as t2_lj
  317. on j_lj_t2.id=t2_lj.id
  318. straight_join
  319. t1 as j_lj_t3 left join t3 as t3_lj
  320. on j_lj_t3.id=t3_lj.id
  321. WHERE
  322. ((t1.id=j_lj_t2.id AND t2_lj.id IS NULL) OR (t1.id=t2.id AND t2.idx=2))
  323. AND ((t1.id=j_lj_t3.id AND t3_lj.id IS NULL) OR (t1.id=t3.id AND t3.idx=2));
  324. id
  325. 2
  326. drop table t1,t2,t3;
  327. create table t1 (a int not null, b int not null, t time);
  328. insert into t1 values (1,1,"00:06:15"),(1,2,"00:06:15"),(1,2,"00:30:15"),(1,3,"00:06:15"),(1,3,"00:30:15");
  329. select a,sec_to_time(sum(time_to_sec(t))) from t1 group by a,b;
  330. a sec_to_time(sum(time_to_sec(t)))
  331. 1 00:06:15
  332. 1 00:36:30
  333. 1 00:36:30
  334. select distinct a,sec_to_time(sum(time_to_sec(t))) from t1 group by a,b;
  335. a sec_to_time(sum(time_to_sec(t)))
  336. 1 00:06:15
  337. 1 00:36:30
  338. create table t2 (a int not null primary key, b int);
  339. insert into t2 values (1,1),(2,2),(3,3);
  340. select t1.a,sec_to_time(sum(time_to_sec(t))) from t1 left join t2 on (t1.b=t2.a) group by t1.a,t2.b;
  341. a sec_to_time(sum(time_to_sec(t)))
  342. 1 00:06:15
  343. 1 00:36:30
  344. 1 00:36:30
  345. select distinct t1.a,sec_to_time(sum(time_to_sec(t))) from t1 left join t2 on (t1.b=t2.a) group by t1.a,t2.b;
  346. a sec_to_time(sum(time_to_sec(t)))
  347. 1 00:06:15
  348. 1 00:36:30
  349. drop table t1,t2;
  350. create table t1 (a int not null,b char(5), c text);
  351. insert into t1 (a) values (1),(2),(3),(4),(1),(2),(3),(4);
  352. select distinct a from t1 group by b,a having a > 2 order by a desc;
  353. a
  354. 4
  355. 3
  356. select distinct a,c from t1 group by b,c,a having a > 2 order by a desc;
  357. a c
  358. 4 NULL
  359. 3 NULL
  360. drop table t1;
  361. create table t1 (a char(1), key(a)) engine=myisam;
  362. insert into t1 values('1'),('1');
  363. select * from t1 where a >= '1';
  364. a
  365. 1
  366. 1
  367. select distinct a from t1 order by a desc;
  368. a
  369. 1
  370. select distinct a from t1 where a >= '1' order by a desc;
  371. a
  372. 1
  373. drop table t1;
  374. CREATE TABLE t1 (email varchar(50), infoID BIGINT, dateentered DATETIME);
  375. CREATE TABLE t2 (infoID BIGINT, shipcode varchar(10));
  376. INSERT INTO t1 (email, infoID, dateentered) VALUES
  377. ('test1@testdomain.com', 1, '2002-07-30 22:56:38'),
  378. ('test1@testdomain.com', 1, '2002-07-27 22:58:16'),
  379. ('test2@testdomain.com', 1, '2002-06-19 15:22:19'),
  380. ('test2@testdomain.com', 2, '2002-06-18 14:23:47'),
  381. ('test3@testdomain.com', 1, '2002-05-19 22:17:32');
  382. INSERT INTO t2(infoID, shipcode) VALUES
  383. (1, 'Z001'),
  384. (2, 'R002');
  385. SELECT DISTINCTROW email, shipcode FROM t1, t2 WHERE t1.infoID=t2.infoID;
  386. email shipcode
  387. test1@testdomain.com Z001
  388. test2@testdomain.com Z001
  389. test3@testdomain.com Z001
  390. test2@testdomain.com R002
  391. SELECT DISTINCTROW email FROM t1 ORDER BY dateentered DESC;
  392. email
  393. test1@testdomain.com
  394. test2@testdomain.com
  395. test3@testdomain.com
  396. SELECT DISTINCTROW email, shipcode FROM t1, t2 WHERE t1.infoID=t2.infoID ORDER BY dateentered DESC;
  397. email shipcode
  398. test1@testdomain.com Z001
  399. test2@testdomain.com Z001
  400. test2@testdomain.com R002
  401. test3@testdomain.com Z001
  402. drop table t1,t2;
  403. CREATE TABLE t1 (privatemessageid int(10) unsigned NOT NULL auto_increment,  folderid smallint(6) NOT NULL default '0',  userid int(10) unsigned NOT NULL default '0',  touserid int(10) unsigned NOT NULL default '0',  fromuserid int(10) unsigned NOT NULL default '0',  title varchar(250) NOT NULL default '',  message mediumtext NOT NULL,  dateline int(10) unsigned NOT NULL default '0',  showsignature smallint(6) NOT NULL default '0',  iconid smallint(5) unsigned NOT NULL default '0',  messageread smallint(6) NOT NULL default '0',  readtime int(10) unsigned NOT NULL default '0',  receipt smallint(6) unsigned NOT NULL default '0',  deleteprompt smallint(6) unsigned NOT NULL default '0',  multiplerecipients smallint(6) unsigned NOT NULL default '0',  PRIMARY KEY  (privatemessageid),  KEY userid (userid)) ENGINE=MyISAM;
  404. INSERT INTO t1 VALUES (128,0,33,33,8,':D','',996121863,1,0,2,996122850,2,0,0);
  405. CREATE TABLE t2 (userid int(10) unsigned NOT NULL auto_increment,  usergroupid smallint(5) unsigned NOT NULL default '0',  username varchar(50) NOT NULL default '',  password varchar(50) NOT NULL default '',  email varchar(50) NOT NULL default '',  styleid smallint(5) unsigned NOT NULL default '0',  parentemail varchar(50) NOT NULL default '',  coppauser smallint(6) NOT NULL default '0',  homepage varchar(100) NOT NULL default '',  icq varchar(20) NOT NULL default '',  aim varchar(20) NOT NULL default '',  yahoo varchar(20) NOT NULL default '',  signature mediumtext NOT NULL,  adminemail smallint(6) NOT NULL default '0',  showemail smallint(6) NOT NULL default '0',  invisible smallint(6) NOT NULL default '0',  usertitle varchar(250) NOT NULL default '',  customtitle smallint(6) NOT NULL default '0',  joindate int(10) unsigned NOT NULL default '0',  cookieuser smallint(6) NOT NULL default '0',  daysprune smallint(6) NOT NULL default '0',  lastvisit int(10) unsigned NOT NULL default '0',  lastactivity int(10) unsigned NOT NULL default '0',  lastpost int(10) unsigned NOT NULL default '0',  posts smallint(5) unsigned NOT NULL default '0',  timezoneoffset varchar(4) NOT NULL default '',  emailnotification smallint(6) NOT NULL default '0',  buddylist mediumtext NOT NULL,  ignorelist mediumtext NOT NULL,  pmfolders mediumtext NOT NULL,  receivepm smallint(6) NOT NULL default '0',  emailonpm smallint(6) NOT NULL default '0',  pmpopup smallint(6) NOT NULL default '0',  avatarid smallint(6) NOT NULL default '0',  avatarrevision int(6) unsigned NOT NULL default '0',  options smallint(6) NOT NULL default '15',  birthday date NOT NULL default '0000-00-00',  maxposts smallint(6) NOT NULL default '-1',  startofweek smallint(6) NOT NULL default '1',  ipaddress varchar(20) NOT NULL default '',  referrerid int(10) unsigned NOT NULL default '0',  nosessionhash smallint(6) NOT NULL default '0',  autorefresh smallint(6) NOT NULL default '-1',  messagepopup tinyint(2) NOT NULL default '0',  inforum smallint(5) unsigned NOT NULL default '0',  ratenum smallint(5) unsigned NOT NULL default '0',  ratetotal smallint(5) unsigned NOT NULL default '0',  allowrate smallint(5) unsigned NOT NULL default '1',  PRIMARY KEY  (userid),  KEY usergroupid (usergroupid),  KEY username (username),  KEY inforum (inforum)) ENGINE=MyISAM;
  406. INSERT INTO t2 VALUES (33,6,'Kevin','0','kevin@stileproject.com',1,'',0,'http://www.stileproject.com','','','','',1,1,0,'Administrator',0,996120694,1,-1,1030996168,1031027028,1030599436,36,'-6',0,'','','',1,0,1,0,0,15,'0000-00-00',-1,1,'64.0.0.0',0,1,-1,0,0,4,19,1);
  407. SELECT DISTINCT t1.*, t2.* FROM t1 LEFT JOIN t2 ON (t2.userid = t1.touserid);
  408. privatemessageid folderid userid touserid fromuserid title message dateline showsignature iconid messageread readtime receipt deleteprompt multiplerecipients userid usergroupid username password email styleid parentemail coppauser homepage icq aim yahoo signature adminemail showemail invisible usertitle customtitle joindate cookieuser daysprune lastvisit lastactivity lastpost posts timezoneoffset emailnotification buddylist ignorelist pmfolders receivepm emailonpm pmpopup avatarid avatarrevision options birthday maxposts startofweek ipaddress referrerid nosessionhash autorefresh messagepopup inforum ratenum ratetotal allowrate
  409. 128 0 33 33 8 :D 996121863 1 0 2 996122850 2 0 0 33 6 Kevin 0 kevin@stileproject.com 1 0 http://www.stileproject.com 1 1 0 Administrator 0 996120694 1 -1 1030996168 1031027028 1030599436 36 -6 0 1 0 1 0 0 15 0000-00-00 -1 1 64.0.0.0 0 1 -1 0 0 4 19 1
  410. DROP TABLE t1,t2;
  411. CREATE TABLE t1 (a int primary key, b int, c int);
  412. INSERT t1 VALUES (1,2,3);
  413. CREATE TABLE t2 (a int primary key, b int, c int);
  414. INSERT t2 VALUES (3,4,5);
  415. SELECT DISTINCT t1.a, t2.b FROM t1, t2 WHERE t1.a=1 ORDER BY t2.c;
  416. a b
  417. 1 4
  418. DROP TABLE t1,t2;
  419. CREATE table t1 (  `id` int(11) NOT NULL auto_increment,  `name` varchar(50) NOT NULL default '',  PRIMARY KEY  (`id`)) ENGINE=MyISAM AUTO_INCREMENT=3 ;
  420. INSERT INTO t1 VALUES (1, 'aaaaa');
  421. INSERT INTO t1 VALUES (3, 'aaaaa');
  422. INSERT INTO t1 VALUES (2, 'eeeeeee');
  423. select distinct left(name,1) as name from t1;
  424. name
  425. a
  426. e
  427. drop  table t1;
  428. CREATE TABLE t1 (
  429. ID int(11) NOT NULL auto_increment,
  430. NAME varchar(75) DEFAULT '' NOT NULL,
  431. LINK_ID int(11) DEFAULT '0' NOT NULL,
  432. PRIMARY KEY (ID),
  433. KEY NAME (NAME),
  434. KEY LINK_ID (LINK_ID)
  435. );
  436. INSERT INTO t1 (ID, NAME, LINK_ID) VALUES (1,'Mike',0);
  437. INSERT INTO t1 (ID, NAME, LINK_ID) VALUES (2,'Jack',0);
  438. INSERT INTO t1 (ID, NAME, LINK_ID) VALUES (3,'Bill',0);
  439. CREATE TABLE t2 (
  440. ID int(11) NOT NULL auto_increment,
  441. NAME varchar(150) DEFAULT '' NOT NULL,
  442. PRIMARY KEY (ID),
  443. KEY NAME (NAME)
  444. );
  445. SELECT DISTINCT
  446. t2.id AS key_link_id,
  447. t2.name AS link
  448. FROM t1
  449. LEFT JOIN t2 ON t1.link_id=t2.id
  450. GROUP BY t1.id
  451. ORDER BY link;
  452. key_link_id link
  453. NULL NULL
  454. drop table t1,t2;
  455. CREATE TABLE t1 (
  456. html varchar(5) default NULL,
  457. rin int(11) default '0',
  458. out int(11) default '0'
  459. ) ENGINE=MyISAM;
  460. INSERT INTO t1 VALUES ('1',1,0);
  461. SELECT DISTINCT html,SUM(out)/(SUM(rin)+1) as 'prod' FROM t1 GROUP BY rin;
  462. html prod
  463. 1 0.00
  464. drop table t1;
  465. CREATE TABLE t1 (a int);
  466. INSERT INTO t1 VALUES (1),(2),(3),(4),(5);
  467. SELECT DISTINCT a, 1 FROM t1;
  468. a 1
  469. 1 1
  470. 2 1
  471. 3 1
  472. 4 1
  473. 5 1
  474. SELECT DISTINCT 1, a FROM t1;
  475. 1 a
  476. 1 1
  477. 1 2
  478. 1 3
  479. 1 4
  480. 1 5
  481. CREATE TABLE t2 (a int, b int);
  482. INSERT INTO t2 VALUES (1,1),(2,2),(2,3),(2,4),(3,5);
  483. SELECT DISTINCT a, b, 2 FROM t2;
  484. a b 2
  485. 1 1 2
  486. 2 2 2
  487. 2 3 2
  488. 2 4 2
  489. 3 5 2
  490. SELECT DISTINCT 2, a, b FROM t2;
  491. 2 a b
  492. 2 1 1
  493. 2 2 2
  494. 2 2 3
  495. 2 2 4
  496. 2 3 5
  497. SELECT DISTINCT a, 2, b FROM t2;
  498. a 2 b
  499. 1 2 1
  500. 2 2 2
  501. 2 2 3
  502. 2 2 4
  503. 3 2 5
  504. DROP TABLE t1,t2;