は私のテーブルです:合計結果を数えてグループ化するにはどうすればよいですか?ここ
// posts
+----+-----------+--------------------+------------+--------+
| id | title | body | author_id | amount |
+----+-----------+--------------------+------------+--------+
| 1 | post1 | somthing | 2543 | 5000 |
| 2 | post2 | something else | 4352 | NULL |
| 3 | post3 | whatever | 1563 | 1200 |
| 4 | post4 | test context | 7234 | NULL |
| 5 | post5 | anything ... | 4352 | NULL |
+----+-----------+--------------------+------------+--------+
はまた、私はこれらの2つのクエリがあります。
SELECT COUNT(*), COUNT(amount) FROM posts
+----------+---------------+
| COUNT(*) | COUNT(amount) |
+----------+---------------+
| 5 | 2 |
+----------+---------------+
SELECT * FROM posts ORDER BY id LIMIT 0,2
+----+-----------+--------------------+------------+--------+
| id | title | body | author_id | amount |
+----+-----------+--------------------+------------+--------+
| 1 | post1 | somthing | 2543 | 5000 |
| 2 | post2 | something else | 4352 | NULL |
+----+-----------+--------------------+------------+--------+
を今私は、これらの2つのクエリを結合したい、これが期待される結果である:
+----+-----------+--------------------+------------+--------+----------+---------------+
| id | title | body | author_id | amount | COUNT(*) | COUNT(amount) |
+----+-----------+--------------------+------------+--------+----------+---------------+
| 1 | post1 | somthing | 2543 | 5000 | 5 | 2 |
| 2 | post2 | something else | 4352 | NULL | 5 | 2 |
+----+-----------+--------------------+------------+--------+----------+---------------+
どうすれば実現できますか?そして、ここで私がこれまで間違っているしようとしたものです、それは常に1行を返します。
SELECT x.*, COUNT(*), COUNT(amount)
FROM (
SELECT * FROM posts ORDER BY id
) x
LIMIT 0,2
最初のクエリに2番目のクエリをクロス結合します。 – xQbert