[英]SQL - How to count number of distinct values (payments), after sum of rows where they have another column value (Due Date) in common
[英]SQL number of distinct values for the value in another column
假設我有一個用戶登錄表:
create table usr_logins
(
id int primary key,
logint_date date,
user_name text,
os_ver int
);
insert into usr_logins
values (1, '2018-12-23', 'Jack', 10)
,(2, '2018-12-24', 'Sam', 11)
,(3, '2018-12-24', 'Jack', 10)
,(4, '2018-12-24', 'Ann', 10)
,(5, '2018-12-25', 'Sam', 10)
,(6, '2019-12-26', 'Sam', 10)
我需要獲取具有多個不同操作系統版本的用戶名列表。
請注意,只有 Sam 從 os_ver 10 和 11 登錄。
這就是我需要的:
由於您需要顯示所有用戶名和相應的不同 os_version 計數(作為 os_num),您可以嘗試以下操作:
select user_name, count(DISTINCT os_ver) as os_num from usr_logins group by user_name
不清楚您是否只期待用戶 Sam,因為您以紅色突出顯示,但如果是這樣,您可以這樣做
select user_name, Count(distinct os_ver) os_num
from usr_logins
group by User_Name
having Count(distinct os_ver)>1
select user_name, count(os_ver) osCount from usr_logins group by user_name having osCount > 1
希望我能正確理解你的問題
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.