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

MySQL数据库

开发平台:

Visual C++

  1. drop table if exists t1,t2;
  2. create table t1 (a int);
  3. select count(a) as b from t1 where a=0 having b > 0;
  4. b
  5. insert into t1 values (null);
  6. select count(a) as b from t1 where a=0 having b > 0;
  7. b
  8. select count(a) as b from t1 where a=0 having b >=0;
  9. b
  10. 0
  11. explain extended select count(a) as b from t1 where a=0 having b >=0;
  12. id select_type table type possible_keys key key_len ref rows Extra
  13. 1 SIMPLE NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
  14. Warnings:
  15. Note 1003 select count(test.t1.a) AS `b` from test.t1 where (test.t1.a = 0) having (count(test.t1.a) >= 0)
  16. drop table t1;
  17. CREATE TABLE t1 (
  18. raw_id int(10) NOT NULL default '0',
  19. chr_start int(10) NOT NULL default '0',
  20. chr_end int(10) NOT NULL default '0',
  21. raw_start int(10) NOT NULL default '0',
  22. raw_end int(10) NOT NULL default '0',
  23. raw_ori int(2) NOT NULL default '0'
  24. );
  25. INSERT INTO t1 VALUES (469713,1,164123,1,164123,1),(317330,164124,317193,101,153170,1),(469434,317194,375620,101,58527,1),(591816,375621,484273,1,108653,1),(591807,484274,534671,91,50488,1),(318885,534672,649362,101,114791,1),(318728,649363,775520,102,126259,1),(336829,775521,813997,101,38577,1),(317740,813998,953227,101,139330,1),(1,813998,953227,101,139330,1);
  26. CREATE TABLE t2 (
  27. id int(10) unsigned NOT NULL default '0',
  28. contig_id int(10) unsigned NOT NULL default '0',
  29. seq_start int(10) NOT NULL default '0',
  30. seq_end int(10) NOT NULL default '0',
  31. strand tinyint(2) NOT NULL default '0',
  32. KEY id (id)
  33. );
  34. INSERT INTO t2 VALUES (133195,469713,61327,61384,1),(133196,469713,64113,64387,1),(133197,1,1,1,0),(133197,1,1,1,-2);
  35. SELECT e.id,
  36. MIN( IF(sgp.raw_ori=1,
  37. (e.seq_start+sgp.chr_start-sgp.raw_start),  
  38. (sgp.chr_start+sgp.raw_end-e.seq_end))) as start, 
  39. MAX( IF(sgp.raw_ori=1,
  40. (e.seq_end+sgp.chr_start-sgp.raw_start),  
  41. (sgp.chr_start+sgp.raw_end-e.seq_start))) as end, 
  42. AVG(IF (sgp.raw_ori=1,e.strand,(-e.strand))) as chr_strand 
  43. FROM  t1 sgp,
  44. t2 e  
  45. WHERE sgp.raw_id=e.contig_id 
  46. GROUP BY e.id 
  47. HAVING chr_strand= -1 and end >= 0 
  48. AND start <= 999660;
  49. id start end chr_strand
  50. 133197 813898 813898 -1.0000
  51. drop table t1,t2;
  52. CREATE TABLE t1 (Fld1 int(11) default NULL,Fld2 int(11) default NULL);
  53. INSERT INTO t1 VALUES (1,10),(1,20),(2,NULL),(2,NULL),(3,50);
  54. select Fld1, max(Fld2) as q from t1 group by Fld1 having q is not null;
  55. Fld1 q
  56. 1 20
  57. 3 50
  58. select Fld1, max(Fld2) from t1 group by Fld1 having max(Fld2) is not null;
  59. Fld1 max(Fld2)
  60. 1 20
  61. 3 50
  62. select Fld1, max(Fld2) from t1 group by Fld1 having avg(Fld2) is not null;
  63. Fld1 max(Fld2)
  64. 1 20
  65. 3 50
  66. select Fld1, max(Fld2) from t1 group by Fld1 having std(Fld2) is not null;
  67. Fld1 max(Fld2)
  68. 1 20
  69. 3 50
  70. select Fld1, max(Fld2) from t1 group by Fld1 having variance(Fld2) is not null;
  71. Fld1 max(Fld2)
  72. 1 20
  73. 3 50
  74. drop table t1;
  75. create table t1 (id int not null, qty int not null);
  76. insert into t1 values (1,2),(1,3),(2,4),(2,5);
  77. select id, sum(qty) as sqty from t1 group by id having sqty>2;
  78. id sqty
  79. 1 5
  80. 2 9
  81. select sum(qty) as sqty from t1 group by id having count(id) > 0;
  82. sqty
  83. 5
  84. 9
  85. select sum(qty) as sqty from t1 group by id having count(distinct id) > 0;
  86. sqty
  87. 5
  88. 9
  89. drop table t1;
  90. CREATE TABLE t1 (
  91. `id` bigint(20) NOT NULL default '0',
  92. `description` text
  93. ) ENGINE=MyISAM;
  94. CREATE TABLE t2 (
  95. `id` bigint(20) NOT NULL default '0',
  96. `description` varchar(20)
  97. ) ENGINE=MyISAM;
  98. INSERT INTO t1  VALUES (1, 'test');
  99. INSERT INTO t2 VALUES (1, 'test');
  100. CREATE TABLE t3 (
  101. `id`       bigint(20) NOT NULL default '0',
  102. `order_id` bigint(20) NOT NULL default '0'
  103. ) ENGINE=MyISAM;
  104. select
  105. a.id, a.description,
  106. count(b.id) as c 
  107. from t1 a left join t3 b on a.id=b.order_id 
  108. group by a.id, a.description 
  109. having (a.description is not null) and (c=0);
  110. id description c
  111. 1 test 0
  112. select
  113. a.*, 
  114. count(b.id) as c 
  115. from t2 a left join t3 b on a.id=b.order_id 
  116. group by a.id, a.description
  117. having (a.description is not null) and (c=0);
  118. id description c
  119. 1 test 0
  120. INSERT INTO t1  VALUES (2, 'test2');
  121. select
  122. a.id, a.description,
  123. count(b.id) as c 
  124. from t1 a left join t3 b on a.id=b.order_id 
  125. group by a.id, a.description 
  126. having (a.description is not null) and (c=0);
  127. id description c
  128. 1 test 0
  129. 2 test2 0
  130. drop table t1,t2,t3;