簡體   English   中英

另一列中值的不同值的 SQL 數

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM