我对concat加入MySQL有点神秘,加入MySQL 4.这就是我遇到问题的地方。 我有两张桌子......
person
id, fname, lname, city, state, zip
capital
state, city
我需要从每个州生成所有州和人数(来自人员表)。像......那样......
AK | 5
AL | 7
AZ | 0
等等
所有州都列在大写表中,但可能有像AZ这样没有人的州。
任何建议都将不胜感激。 我很少被要求做任何与MySQL有关的事情而且我很难过。
露
答案 0 :(得分:1)
SELECT CONCAT(state, ' | ', CAST(count(*) AS CHAR))
FROM person
GROUP BY state
根据更新,获得0人的州:
解决方案1:
SELECT CONCAT(state, ' | ', CAST(count(*) AS CHAR))
FROM person
GROUP BY state
UNION
SELECT CONCAT(state, ' | 0')
FROM capital
WHERE NOT EXISTS
(SELECT 1 FROM person WHERE capital.state = person.state)
解决方案2:在状态上使用2个表中的outer join,并在外部联接结果上按状态分组。