如何通過語句獲取組中的所有值?顯示GROUP BY中的所有值
mysql>select * from mytable;
+------+--------+--------+
| name | amount | status |
+------+--------+--------+
| abc | 12 | A |
| abc | 55 | A |
| xyz | 12 | B |
| xyz | 12 | C |
+------+--------+--------+
4 rows in set (0.00 sec)
mysql>select name, count(*) from mytable where status = 'A' group by name;
+------+----------+
| name | count(*) |
+------+----------+
| abc | 2 |
+------+----------+
1 row in set (0.01 sec)
預期結果:
+------+----------+
| name | count(*) |
+------+----------+
| abc | 2 |
| xyz | 0 |
+------+----------+
:在這種情況下,如果我們想要顯示數量列值,SQL僅返回第一個值,即12!我們能做些什麼來看12和55? – 2013-09-30 16:16:07
您必須指定要更精確地查看的查詢結果。如果你的意思是你想查看組值和單個行值,那麼你應該使用原始表加入GROUP BY查詢的結果(作爲子查詢處理):'SELECT m。*,s.group_count FROM mytable AS m JOIN(SELECT a.name,COUNT(b.name) FROM mytable AS a LEFT OUTER JOIN mytable AS b ON a.name = b.name AND b.status ='A' GROUP BY a。名稱)AS s ON m.name = s.name;'或大約。 – 2013-09-30 16:25:38
老實說,我不明白這個問題: - 你能不能簡單描述一下?我想要的是隻有一個**名稱**作爲父母 – 2013-09-30 16:34:10