~ubuntu-branches/ubuntu/precise/mysql-5.1/precise

« back to all changes in this revision

Viewing changes to mysql-test/r/select_found.result

  • Committer: Bazaar Package Importer
  • Author(s): Norbert Tretkowski
  • Date: 2010-03-17 14:56:02 UTC
  • Revision ID: james.westby@ubuntu.com-20100317145602-x7e30l1b2sb5s6w6
Tags: upstream-5.1.45
ImportĀ upstreamĀ versionĀ 5.1.45

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
drop table if exists t1,t2;
 
2
create table t1 (a int not null auto_increment, b int not null, primary key(a));
 
3
insert into t1 (b) values (2),(3),(5),(5),(5),(6),(7),(9);
 
4
select SQL_CALC_FOUND_ROWS * from t1;
 
5
a       b
 
6
1       2
 
7
2       3
 
8
3       5
 
9
4       5
 
10
5       5
 
11
6       6
 
12
7       7
 
13
8       9
 
14
select found_rows();
 
15
found_rows()
 
16
8
 
17
select SQL_CALC_FOUND_ROWS * from t1 limit 1;
 
18
a       b
 
19
1       2
 
20
select found_rows();
 
21
found_rows()
 
22
8
 
23
select SQL_BUFFER_RESULT SQL_CALC_FOUND_ROWS * from t1 limit 1;
 
24
a       b
 
25
1       2
 
26
select found_rows();
 
27
found_rows()
 
28
8
 
29
select SQL_CALC_FOUND_ROWS * from t1 order by b desc limit 1;
 
30
a       b
 
31
8       9
 
32
select found_rows();
 
33
found_rows()
 
34
8
 
35
select SQL_CALC_FOUND_ROWS distinct b from t1 limit 1;
 
36
b
 
37
2
 
38
select found_rows();
 
39
found_rows()
 
40
6
 
41
select SQL_CALC_FOUND_ROWS b,count(*) as c from t1 group by b order by c desc limit 1;
 
42
b       c
 
43
5       3
 
44
select found_rows();
 
45
found_rows()
 
46
6
 
47
select SQL_CALC_FOUND_ROWS * from t1 left join t1 as t2 on (t1.b=t2.a) limit 2,1;
 
48
a       b       a       b
 
49
3       5       5       5
 
50
select found_rows();
 
51
found_rows()
 
52
8
 
53
drop table t1;
 
54
create table t1 (a int not null primary key);
 
55
insert into t1 values (1),(2),(3),(4),(5);
 
56
select sql_calc_found_rows a from t1 where a in (1,2,3) order by a desc limit 0,2;
 
57
a
 
58
3
 
59
2
 
60
select FOUND_ROWS();
 
61
FOUND_ROWS()
 
62
3
 
63
select sql_calc_found_rows a from t1 where a in (1,2,3) order by a+2 desc limit 0,2;
 
64
a
 
65
3
 
66
2
 
67
select FOUND_ROWS();
 
68
FOUND_ROWS()
 
69
3
 
70
drop table t1;
 
71
CREATE TABLE t1 (
 
72
`id` smallint(5) unsigned NOT NULL auto_increment,
 
73
`kid` smallint(5) unsigned NOT NULL default '0',
 
74
PRIMARY KEY (`id`),
 
75
KEY `kid` (`kid`)
 
76
);
 
77
CREATE TABLE t2 (
 
78
id smallint(5) unsigned NOT NULL auto_increment,
 
79
name varchar(50) NOT NULL default '',
 
80
email varchar(50) NOT NULL default '',
 
81
PRIMARY KEY  (id),
 
82
UNIQUE KEY e_n (email,name)
 
83
);
 
84
EXPLAIN SELECT SQL_CALC_FOUND_ROWS DISTINCT email FROM t2 LEFT JOIN t1  ON kid = t2.id WHERE t1.id IS NULL LIMIT 10;
 
85
id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
 
86
1       SIMPLE  t1      system  PRIMARY,kid     NULL    NULL    NULL    0       const row not found
 
87
1       SIMPLE  t2      index   NULL    e_n     104     NULL    10      
 
88
SELECT SQL_CALC_FOUND_ROWS DISTINCT email FROM t2 LEFT JOIN t1  ON kid = t2.id WHERE t1.id IS NULL LIMIT 10;
 
89
email
 
90
email1
 
91
email10
 
92
email100
 
93
email101
 
94
email102
 
95
email103
 
96
email104
 
97
email105
 
98
email106
 
99
email107
 
100
SELECT FOUND_ROWS();
 
101
FOUND_ROWS()
 
102
200
 
103
SELECT SQL_CALC_FOUND_ROWS DISTINCT email FROM t2 LEFT JOIN t1  ON kid = t2.id WHERE t1.id IS NULL order by email LIMIT 10;
 
104
email
 
105
email1
 
106
email10
 
107
email100
 
108
email101
 
109
email102
 
110
email103
 
111
email104
 
112
email105
 
113
email106
 
114
email107
 
115
SELECT FOUND_ROWS();
 
116
FOUND_ROWS()
 
117
200
 
118
SELECT DISTINCT email FROM t2 LEFT JOIN t1  ON kid = t2.id WHERE t1.id IS NULL LIMIT 10;
 
119
email
 
120
email1
 
121
email2
 
122
email3
 
123
email4
 
124
email5
 
125
email6
 
126
email7
 
127
email8
 
128
email9
 
129
email10
 
130
SELECT DISTINCT email FROM t2 LEFT JOIN t1  ON kid = t2.id WHERE t1.id IS NULL ORDER BY email LIMIT 10;
 
131
email
 
132
email1
 
133
email10
 
134
email100
 
135
email101
 
136
email102
 
137
email103
 
138
email104
 
139
email105
 
140
email106
 
141
email107
 
142
INSERT INTO `t1` (`id`, `kid`) VALUES ('0', '150');
 
143
SELECT SQL_CALC_FOUND_ROWS DISTINCT email FROM t2 LEFT JOIN t1  ON kid = t2.id WHERE t1.id IS NULL LIMIT 10;
 
144
email
 
145
email1
 
146
email2
 
147
email3
 
148
email4
 
149
email5
 
150
email6
 
151
email7
 
152
email8
 
153
email9
 
154
email10
 
155
SELECT FOUND_ROWS();
 
156
FOUND_ROWS()
 
157
199
 
158
drop table t1,t2;
 
159
CREATE TABLE `t1` (
 
160
`titre` char(80) NOT NULL default '',
 
161
`numeropost` mediumint(8) unsigned NOT NULL auto_increment,
 
162
`maxnumrep` int(10) unsigned NOT NULL default '0',
 
163
PRIMARY KEY  (`numeropost`),
 
164
KEY `maxnumrep` (`maxnumrep`)
 
165
) ENGINE=MyISAM ROW_FORMAT=FIXED;
 
166
INSERT INTO t1 (titre,maxnumrep) VALUES
 
167
('test1','1'),('test2','2'),('test3','3');
 
168
SELECT SQL_CALC_FOUND_ROWS titre,numeropost,maxnumrep FROM t1 WHERE numeropost IN (1,2) ORDER BY maxnumrep DESC LIMIT 0, 1;
 
169
titre   numeropost      maxnumrep
 
170
test2   2       2
 
171
SELECT FOUND_ROWS();
 
172
FOUND_ROWS()
 
173
2
 
174
SELECT SQL_CALC_FOUND_ROWS 1 FROM (SELECT 1) as a LIMIT 0;
 
175
1
 
176
SELECT FOUND_ROWS();
 
177
FOUND_ROWS()
 
178
1
 
179
SELECT SQL_CALC_FOUND_ROWS * FROM t1 WHERE numeropost > 1  LIMIT 0;
 
180
titre   numeropost      maxnumrep
 
181
SELECT FOUND_ROWS();
 
182
FOUND_ROWS()
 
183
2
 
184
SELECT SQL_CALC_FOUND_ROWS * FROM t1 LIMIT 0;
 
185
titre   numeropost      maxnumrep
 
186
SELECT FOUND_ROWS();
 
187
FOUND_ROWS()
 
188
3
 
189
SELECT SQL_CALC_FOUND_ROWS * FROM t1 ORDER BY numeropost  LIMIT 0;
 
190
titre   numeropost      maxnumrep
 
191
SELECT FOUND_ROWS();
 
192
FOUND_ROWS()
 
193
3
 
194
drop table t1;
 
195
create table t1 (id int, primary key (id));
 
196
insert into t1 values (1), (2), (3), (4), (5);
 
197
select SQL_CALC_FOUND_ROWS * from t1 where id > 3 limit 0, 1;
 
198
id
 
199
4
 
200
select FOUND_ROWS();
 
201
FOUND_ROWS()
 
202
2
 
203
select SQL_CALC_FOUND_ROWS * from t1 where id > 3 AND 1=2 limit 0, 1;
 
204
id
 
205
select FOUND_ROWS();
 
206
FOUND_ROWS()
 
207
0
 
208
select SQL_CALC_FOUND_ROWS * from t1 where id > 6 limit 0, 1;
 
209
id
 
210
select FOUND_ROWS();
 
211
FOUND_ROWS()
 
212
0
 
213
drop table t1;
 
214
CREATE TABLE t1 ( a int not null, b int not null, KEY ab(a,b) );
 
215
INSERT INTO t1 VALUES ( 47,    1  );
 
216
INSERT INTO t1 VALUES ( 70,    1  );
 
217
SELECT * FROM t1
 
218
WHERE
 
219
(
 
220
( b =1 AND a BETWEEN 14 AND 21 ) OR
 
221
( b =2 AND a BETWEEN 16 AND 18 ) OR
 
222
( b =3 AND a BETWEEN 15 AND 19 )
 
223
);
 
224
a       b
 
225
DROP TABLE t1;
 
226
CREATE TABLE t1 ( a integer, u varchar(15), r integer, key uao_idx( r, a, u));
 
227
DELETE  FROM t1
 
228
WHERE (  r = 1 AND a IN ( 1, 2    ) AND ( u = 'w'   OR u LIKE 'w/%'   ) )
 
229
OR (  r = 1 AND a IN (       3 ) AND ( u = 'w/U' OR u LIKE 'w/U/%' ) )
 
230
OR (  r = 1 AND a IN ( 1, 2, 3 ) AND ( u = 'w'                     ) );
 
231
drop table t1;
 
232
CREATE TABLE t1 (a VARCHAR(16), UNIQUE(a));
 
233
INSERT INTO t1 VALUES ('1'), ('2'), ('3');
 
234
SELECT SQL_CALC_FOUND_ROWS * FROM t1 WHERE a = '2' LIMIT 0, 1;
 
235
a
 
236
2
 
237
SELECT FOUND_ROWS();
 
238
FOUND_ROWS()
 
239
1
 
240
DROP TABLE t1;
 
241
CREATE TABLE t1 (a INT);
 
242
INSERT INTO t1 VALUES (0), (0), (1), (2);
 
243
SELECT SQL_CALC_FOUND_ROWS * FROM t1 WHERE a = 0 GROUP BY a HAVING a > 10;
 
244
a
 
245
SELECT FOUND_ROWS();
 
246
FOUND_ROWS()
 
247
0
 
248
DROP TABLE t1;
 
249
SELECT 'foo';
 
250
foo
 
251
foo
 
252
SELECT FOUND_ROWS();
 
253
FOUND_ROWS()
 
254
1
 
255
SELECT SQL_CALC_FOUND_ROWS 'foo';
 
256
foo
 
257
foo
 
258
SELECT FOUND_ROWS();
 
259
FOUND_ROWS()
 
260
1
 
261
SELECT SQL_CALC_FOUND_ROWS 'foo' limit 0;
 
262
foo
 
263
SELECT FOUND_ROWS();
 
264
FOUND_ROWS()
 
265
1
 
266
SELECT FOUND_ROWS();
 
267
FOUND_ROWS()
 
268
1
 
269
SELECT SQL_CALC_FOUND_ROWS 'foo' UNION SELECT 'bar' LIMIT 0;
 
270
foo
 
271
SELECT FOUND_ROWS();
 
272
FOUND_ROWS()
 
273
2
 
274
CREATE TABLE t1 (a int, b int);
 
275
INSERT INTO t1 VALUES (1,2), (1,3), (1,4), (1,5);
 
276
SELECT SQL_CALC_FOUND_ROWS DISTINCT 'a' FROM t1 GROUP BY b LIMIT 2;
 
277
a
 
278
a
 
279
SELECT FOUND_ROWS();
 
280
FOUND_ROWS()
 
281
1
 
282
DROP TABLE t1;