回答編集履歴

2

回答としてNGなので追記

2018/04/03 07:00

投稿

dodox86
dodox86

スコア9183

test CHANGED
@@ -5,3 +5,77 @@
5
5
  ```
6
6
 
7
7
  で、`count(*)`の結果をカラム名`cnt`として同時に取れます。
8
+
9
+
10
+
11
+ ---
12
+
13
+ **追記しました:**2018/04/03 15:58
14
+
15
+
16
+
17
+ saziさんのコメントを受けて再度確認しました。ご指摘のエラーにはなりませんでしたが、全件のデータを取れないので、回答としては間違っていて、NGですね。私の確認不足でした。申し訳ありません。(評価を下げてください)
18
+
19
+ ```
20
+
21
+ C>sqlite3
22
+
23
+ SQLite version 3.18.0 2017-03-28 18:48:43
24
+
25
+ Enter ".help" for usage hints.
26
+
27
+ Connected to a transient in-memory database.
28
+
29
+ Use ".open FILENAME" to reopen on a persistent database.
30
+
31
+ sqlite> CREATE TABLE t1 (age integer, name text);
32
+
33
+ sqlite> INSERT INTO t1 (age, name) VALUES (5, 'name#1');
34
+
35
+ sqlite> INSERT INTO t1 (age, name) VALUES (10, 'name#2');
36
+
37
+ sqlite> INSERT INTO t1 (age, name) VALUES (20, 'name#3');
38
+
39
+ sqlite> INSERT INTO t1 (age, name) VALUES (21, 'name#4');
40
+
41
+ sqlite> INSERT INTO t1 (age, name) VALUES (35, 'name#5');
42
+
43
+ sqlite> INSERT INTO t1 (age, name) VALUES (40, 'name#5');
44
+
45
+ sqlite>
46
+
47
+ sqlite> select * from t1;
48
+
49
+ 5|name#1
50
+
51
+ 10|name#2
52
+
53
+ 20|name#3
54
+
55
+ 21|name#4
56
+
57
+ 35|name#5
58
+
59
+ 40|name#5
60
+
61
+
62
+
63
+ sqlite> SELECT * FROM t1 WHERE age > 20;
64
+
65
+ 21|name#4
66
+
67
+ 35|name#5
68
+
69
+ 40|name#5
70
+
71
+
72
+
73
+ sqlite> SELECT COUNT(*) AS cnt, * FROM t1 WHERE age > 20;
74
+
75
+ 3|40|name#5
76
+
77
+ sqlite>
78
+
79
+
80
+
81
+ ```

1

記述修正

2018/04/03 07:00

投稿

dodox86
dodox86

スコア9183

test CHANGED
@@ -4,4 +4,4 @@
4
4
 
5
5
  ```
6
6
 
7
- で、`cnt`の名前で取れます。
7
+ で、`count(*)`の結果をカラム`cnt`として同時に取れます。