1. 程式人生 > >sql中count函式和distinct函式的配合使用

sql中count函式和distinct函式的配合使用

使用者名稱    商品    數量
A        甲      1
B        乙      2
C        丙      2
B        甲      1
A        丙      2
C        丙      1

寫sql語句
要求查出 購買商品兩種型別以上(含)的使用者集合

資料表中的資料如下:
圖一 
name goodsname num

A         G1              1

B         G1              2

C         G1             2

B         G2               2

C         G1             2

A         G3            1

select name
from tempone
group by name
having count(goodname)>1  對嗎?

我們發現這樣寫 使用者C也可以被查出來但使用者C買了兩次相同的商品

正確寫法

select name
from tempone
group by name
having count(distinct goodname)>1

相關推薦

sqlcount函式distinct函式配合使用

使用者名稱    商品    數量 A        甲      1 B        乙      2 C        丙      2 B        甲      1 A        丙      2 C        丙      1 寫sql語句 要求查出

SQL的分組函式

組函式是將一組作為整體計算,每組記錄返回一個結果 avg([distinct|all]expr):計算多行expr平均值,其中expr可以是變數、常量或者資料列 count(distinct|all

對於SQLCOUNT(1)COUNT(*)執行效率上的誤解

轉自:http://blog.itpub.net/26736162/viewspace-2136339/ 如題,SQL中COUNT(1)和COUNT(*)執行效率的高低,說法不一。不過本人認為二者執行效率是一樣的。 本文作如下闡述: 1、COUNT( )函式是資料庫(Ora

mysqlcount函式sum函式的用法

mysql中用於統計的二個函式,而這二個函式通常和group by分組函式配合使用 一、count(*)是統計每一組有多少行 count(*)是將返回表格中所有存在的行的總數包括值為null的行。然而count(列名)將返回表格中除去null以外的所有行的總數(有預設值的

PL/SQLLpad函式Rpad函式的用法

這兩個函式主要用來實現一些對齊,如下圖的一個訂單介面 pad的中文意思是填充,所以說顧名思義 Lpad->Left pad ->左填充 Rpad->Right pad ->右填充 這兩個函式分別都接受三個引數,以L

SQL幾個簡單的函式:LEFT JOIN;COUNT遇上GROUP BY

概要:函式LEFT JOIN與COUNT/GROUP BY的使用,以及為AND篩選限制條件的合適位置 SQL: SELECT DISTINCT att.attributes_templates_id,att.attributes_templates_name,COUN

SQL語句MAX()函式MIN()函式

MAX 函式返回一列中的最大值。NULL 值不包括在計算中。 SELECT MAX(column_name) FROM table_name 註釋:MIN 和 MAX 也可用於文字列,以獲得按字母

如何通過使用 SQL Server 的 Detach Attach 函式SQL Server 資料庫移到新位置(轉載)

如何通過使用 SQL Server 中的 Detach 和 Attach 函式將 SQL Server 資料庫移到新位置 參考概要本文描述如何更改任何 SQL Server 7.0、SQL Server 2000 或 SQL Server 2005 資料庫的資料和日誌檔案的

sql的round函式cast函式詳解

 <一>:ROUND函式主要返回數字表達式並四捨五入為指定的長度或精度。 語法格式如下: ROUND(numeric_expression,length[,function]) 引數說明: 1.numeric_expression:精確數字或近擬數字資料型別類別的

SQL函式XSL函式在XML Publisher的使用

       XML Publisher擴充套件了一些SQL和XSL,XSL-FO函式,使它們可以在RTF模板中使用.語法如下:             擴充套件SQL語法:<?xdofx:expression?>             擴充套件XSL語法:&

SQL Count Distinct的使用

先來複習一下左連線:``` select * from tb_driverReportDetails left join tb_driverReportInput on tb_driverReportInput.id=tb_driverReportDe

SQL Server函式——表值函式標量函式

create table student (  sid int identity primary key,  sname varchar(20),  gender tinyint,  age int ) go insert in

解釋python的help()dir()函式

help函式是一個內建函式,用於檢視函式或模組用途的詳細說明 import copy print(help(copy.copy)) Help on function copy in module copy: copy(x) Shallow copy operation on arbitrar

訊號量機制的downup函式

轉自:https://blog.csdn.net/fzubbsc/article/details/37737159 參考: https://blog.csdn.net/liuxd3000/article/details/17913363 http://blog.chinaunix.net

db2left()函式right()函式對應oracle的substr()函式

DB2  LEFT、RIGHT函式  語法:LEFT(ARG,LENGTH)、RIGHT(ARG,LENGTH)  LEFT、RIGHT函式返回ARG最左邊、右邊的LENGTH個字串,ARG可以是CHAR或BINARY STRING。  eg:

linuxalarm函式pause函式詳解例項

轉載原文:https://www.cnblogs.com/yxk529188712/p/4982401.html alarm(time);執行之後告訴核心,讓核心在time秒時間之後向該程序傳送一個定時訊號,然後該程序捕獲該訊號並處理; pause()函式使該程序暫停讓出CPU,但是該函式的暫停

PL/SQL單行函式函式詳解

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

PHP call_user_func 函式 call_user_func_array 函式

PHP 中 call_user_func() 函式 和 call_user_func_array()函式都是回撥函式 區別: call_user_func() 可以有多個引數,第一個引數為被呼叫的回撥函式,除了第一個引數外,其他引數均為被呼叫函式的引數 c

【Python面試必看系列】之解釋 Python 的 join() split() 函式

Q 17. 解釋 Python 中的 join() 和 split() 函式 Join()能讓我們將指定字元新增至字串中。 >>> ','.join('12345') 輸出: ‘1,2,3,4,5’ Split() 能讓我們用指定字元分割字串。

OpenCV 的split函式merge函式 及示例

就讓我們來詳細介紹一下這兩個互為冤家的函式。首先是進行通道分離的split函式。 <1>split函式詳解 將一個多通道陣列分離成幾個單通道陣列。ps:這裡的array按語境譯為陣列或者陣列。 這個split函式的C++版本有兩個原型,他們分別是: C++: