【问题标题】:Retrieve data from 2 fields with a count from one of them从 2 个字段中检索数据,其中一个字段进行计数
【发布时间】:2014-02-07 10:14:03
【问题描述】:

我需要从国家/地区表中检索数据以用于格式化搜索结果,但我似乎没有正确的 sql 格式。

每个国家都存储有 country_code、country_name、iso_code 和 sales_location

例如,它将有 222, United Kingdom, GB, UK Sales

我需要能够查询一个销售地点被列出了多少次以及哪些国家名称与该销售地点相关联(世界其他地区有 221 个国家名称)

我试过了

 SELECT sales_location, countries_name, COUNT( sales_location )
 FROM countries
 GROUP BY sales_location

这确实给了我位置和数量,但国家名称仅按字母顺序给出第一个国家。

【问题讨论】:

  • 那么,一个国家只能有一个销售点?或者更多?坦率地说,我不明白你想要什么
  • 我想知道销售地点、与该销售地点相关联的国家名称以及特定销售地点被列出的次数
  • sales_location 包含英国销售额、欧盟销售额、海峡群岛销售额和世界其他地区销售额。每个 sales_location 下都有特定的国家/地区

标签: mysql


【解决方案1】:
SELECT sales_location, GROUP_CONCAT(countries_name), COUNT( * )
FROM countries
GROUP BY sales_location

【讨论】:

  • 我接受了您的答案,因为它是第一个发布的有效的答案,尽管其他两个答案也给出了正确的结果。谢谢
【解决方案2】:
 SELECT countries_name, GROUP_CONCAT(sales_location) as sales_location,    
 COUNT(sales_location ) as location_count
 FROM countries
 GROUP BY countries_name

【讨论】:

  • 这个答案没有给出找到销售地点的总次数,只有 1 的计数,因为它存在于每个国家/地区名称
【解决方案3】:
SELECT sales_location, GROUP_CONCAT(countries_name), COUNT(sales_location)
FROM countries
GROUP BY sales_location

这个查询应该会有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-08-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-17
    • 1970-01-01
    • 2014-01-13
    • 2019-10-09
    相关资源
    最近更新 更多