⑴ MySQL過濾部分欄位重復的數據
select
distinct可以去掉重復記錄。
disctinct將重復的記錄忽略,但它忽略的是完全一致的回重復記錄,答而不是其中某個欄位重復的記錄,或者說,distinct查詢一個欄位時好使,多個欄位就不好使。
所以用聚合函數和group
by實現
注意:group
by只能跟聚合函數搭配使用
例表
ID
username
password
TRDESC
1
A
abcdef
QR
2
A
abcdef
W34
3
A
bbbbbb
AD
4
B
aaaaaa
asdf
查詢username和password組合起來的條件不能重復的查詢結果(這個都能重復,不能不說這是個爛攤子)
select
*
from
mytable
where
ID
in(select
max(ID)
from
mytable
group
by
username,password)
當username和password重復時,取ID最小的記錄:
select
*
from
mytable
where
ID
in(select
min(ID)
from
mytable
a
group
by
username,password)
⑵ 從mysql讀取出來的數據 想過濾部分內容輸出 只保留後面的數字
這個可以通過PHP和SQL去做,不過建議使用PHP
SQL:
SELECTcasewhenPQUANDAXIAO='滿69元減30元'then30
whenPQUANDAXIAO='5元無條件券'then5else0endPQUANDAXIAO
FROMtablename;
PHP:
str_replace('滿69元減30元','30',str_replace('5元無條件券','5',$row['PQUANDAXIAO']));