Mysql 語句 有多個條件 查詢所有 返回符合條件最多的一條
這邊先給你提供一個動態SQL
select
*
from
table
where
1=1 //這一步是針對所有條件均未滿足(where后必須跟子句)
if(name != "" and name!=null){ and name=條件一}
if(sex != "" and sex!=null){ and sex=條件二}
。。。。
個人解題思路
第一種:
不額外創建表(連接查詢)
首先,將所有條件單獨查詢并將這些語句內連接
例:
select * from tb as t1
join
(select * from tb where name=條件) as t2
on
*=*
join
(select * from tb where age=條件) as t3
on
*=*
(join。。.. on 。。.)
where
*=條件
然后 將上面的查詢結果看作一個表t
select t.*,count(*) from t
group by * // 以id分組
order by count(*) asc //以id數量為降序
limit(0,1) //取第一行值
mysql條件語句
這個呀!有表結構么?如下不行就把真的錯誤信息發出來!或表結構!立刻搞定!--------------------------------------------------------AND ((*_sj >1288945672AND *aqingkuang IS NULL) or ( *_sj<1288945672AND *aqingkuang IS NULL ) or (*aqingkuang != '' ))-------------------------------------------------------第一這個看*_sj的類型,如果是數值型可以這么寫,如果不是就要 用'1288945672'。
第二 ,你那個AND都連接到一起了。--------------------------------------------------------AND ((*_sj >1288945672 AND *aqingkuang IS NULL) or ( *_sj<1288945672 AND *aqingkuang IS NULL ) or (*aqingkuang != '' ))=============================================================AND ((*_sj != 1288945672 AND *aqingkuang IS NULL) or (*aqingkuang != '' ))---------------------------------------------------------------表結構一放出來,把要求一說!立刻就搞定了!都是瞎猜呀!。