【发布时间】:2015-03-29 23:57:55
【问题描述】:
我想省去对以下内容进行多次查询的麻烦:
我有一张这样的桌子:
name, age
{
Mike, 7
Peter, 2
Mario, 1
Tony, 4
Mary, 2
Tom, 7
Jerry, 3
Nick, 2
Albert, 22
Steven, 7
}
我想要以下结果:
Results(custom_text, num)
{
1 Year, 1
2 Year, 3
3 Year, 1
4 Year, 1
5 Year, 0
6 Year, 0
7 Year, 3
8 Year, 0
9 Year, 0
10 Year, 0
More than 10 Year, 1
}
我知道如何做到这一点,但在 11 个查询中 :( 但是如何简化它?
编辑:
执行以下操作,我可以获得非零值,但我需要正确位置的零。
SELECT COUNT(*) AS AgeCount
FROM mytable
GROUP BY Age
我怎样才能做到这一点? 感谢阅读。
【问题讨论】:
-
您将三个问题混为一谈。第一个涉及简单的聚合——我想你知道怎么做。第二个是简单的case语句;我想你知道该怎么做。第三个问题涉及对缺失结果的处理。这是一个显示问题。一般来说,数据显示的问题最好在应用程序级代码(例如Php)中处理
-
我想我可以用PHP添加自定义字符串,但是,如何获取第二列?
标签: mysql sql join group-by having