現在假設有一張資料表 a , 欄位和資料如下:
姓名(name)
身份證(唯一標識)(id)
購買產品(pro)
**(price)
數量(count)
購買時間(time)
張1111111
computer
1600
52018-03-03
張111111
phone
12
12
2018-03-05
張222222
pipe
1234
2018-03-04
張222222
computer
1600
52018-03-05
張333333
phone
1212
2018-03-03
張333333
pipe
1234
2018-03-06
張333333
computer
1600
52018-03-09
張444444
phone
1212
2018-03-09
張555555
pipe
1234
2018-03-02
在這張資料表中,我們需要查詢表中每乙個使用者在最後一次都購買了什麼產品以及相關資訊
sql語句如下:
select
*
from
(
select
*
from
a
order
by
time
) a
group
by
a.id;
解釋:在這裡,我們首先對 a 表進行按照時間的順序排序,這樣我們可以把每個使用者最後一次購買記
錄排在最上面,排序之後再巢狀一層查詢,這一層查詢使用 group by 語句。在使用group
by 語句的時候,他會按照分組將你排過序的資料的第一條取出來,這樣就比較符合條件了,這種
方式在新增索引的情況下效率相當快
SQL 中的多條件查詢
在應用程式開發中,多條件查詢是個經常遇到的情況,最簡單最麻煩的方法是把所有的可能情況都考慮到,但是無疑是繁瑣的,而且很容易漏掉可能的情形,下面是sql語句實現多條件查詢的情況 select from table where table a case when isnull a,then a else...
sql語句比較新舊兩個表資料中資料的一致性
select a.callingcode,a.calledcode,a.calldate,a.calltime,a.billtype,a.money,b.callingcode,b.calledcode,b.calldate,b.calltime,b.billtype,b.money from bi...
SQL新舊資料庫結構一致,所有表資料的比較SQL
if object id tempdb.temptable is not null drop table temptable select distinct a.table name a.table catalog a.table schema as sv105 192.168.1.130 a.ta...