回答編集履歴

2

回答としてNGなので追記

2018/04/03 07:00

投稿

dodox86
dodox86

スコア9385

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

1

記述修正

2018/04/03 07:00

投稿

dodox86
dodox86

スコア9385

answer CHANGED
@@ -1,4 +1,4 @@
1
1
  ```SQL
2
2
  select count(*) as cnt, * from table where age>20;
3
3
  ```
4
- で、`cnt`の名前で取れます。
4
+ で、`count(*)`の結果をカラム`cnt`として同時に取れます。