Posted on 2010-07-24 16:42
斷點 閱讀(282)
評論(0) 編輯 收藏 所屬分類:
SQL
1、具體業務中用到的sql,這個是查找最近標志為1,且有多條記錄的數據。 (這個sql查找錯誤比較有用。)
select a.c_ply_no ,count(1) from web_ply_base a
where a.c_latest_mrk='1'
group by a.c_ply_no
having count(1)>1
背景count(*) count(1) 兩者比較,主要還是要count(1)所相對應的數據字段:
如果你的數據表沒有主鍵,那么count(1)比count(*)快
如果有主鍵的話,那主鍵(聯合主鍵)作為count的條件也比count(*)要快
如果你的表只有一個字段的話那count(*)就是最快的啦
如果count(1)是聚索引,id,那肯定是count(1)快。但是差的很小的。
因為count(*),自動會優化指定到那一個字段。所以沒必要去count(?),用count(*),sql會幫你完成優化的.
其他語句:select * from 表名 where 條件 order by 字段名 asc\desc // asc 升序 desc 降序
2、C_Nme_En匹配多個 like 查詢。
select distinct C_Spec_No
from WEB_Prd_Fix_Spec
WHERE C_Spec_No in (SELECT C_Spec_No
FROM web_Prd_Prod_Spec_Rel
WHERE C_Prod_No = '0326'
and C_Spec_No like '89%')
and (C_Nme_En like '%000000%' or C_Nme_En like '%030006%' or
C_Nme_En like '%030061%')