简体   繁体   English

计算 MySQL 中每个不同变量的唯一出现次数

[英]Count unique occurrences per each distinct variable in MySQL

My table is structured like this:我的表结构如下:

Table name my_table表名my_table

name shop_id
____ _______
Mark aaa
Mark aaa
Mark bbb
Mark ccc
Mark ddd
Mark ddd
Jane aaa
Jane aaa
Jane bbb
Cody aaa

I want to find:我想找到:

  1. how many times a visitor went to stores in total访客总共去商店的次数
  2. how many unique shops did the visitor go to.访客 go 去了多少家独特的商店。

For question 1, I figured the code should be this:对于问题1,我认为代码应该是这样的:

SELECT 
  name,
  count(name) as name_count
FROM my_table
GROUP BY name
ORDER BY name_count DESC

But I can't figure the second part.但我想不通第二部分。 Help please: It should be something like this:请帮助:它应该是这样的:

name shop_count
____ _______
Mark 4
Jane 2
Cody 1

Thank you.谢谢你。

Use DISTINCT for unique shops对独特的商店使用DISTINCT

SELECT 
  name,
  COUNT(name) as name_count
  COUNT(DISTINCT shop_id) AS unique_shop
FROM my_table
GROUP BY name
ORDER BY name_count DESC

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM