[英]Sql query to fetch value from table in grouping using PHP and Mysql
我需要一個幫助。 我需要sql查詢從表中獲取值並將其分組,如果表中存在重復值。我正在解釋下面的表。
db_basic:
id name_id name date1 date2
1 60 aaa 2016-10-22 2016-10-26
2 60 aaa
3 62 ccc
這里有些行有date1 and date2
列空白。我有這樣的輸入$date=2016-10-22
。我需要使用條件獲取name_id and name
值$date=2016-10-22
位於date1 and date2
之間date1 and date2
。 這里我的條件也是如果任何name_id
行有date1 and date2
列有一些值將通過比較輸入日期( $date=2016-10-22
)獲取。如果任何行沒有date1 and date2
列的值,那些應該獲取沒有與任何輸入進行比較。 我在下面解釋我的查詢。
$sql="select * from db_basic where date1 <='".$date."' and date2 >= '".$date."' and date1 !='' and date2 !='' group by name_id";
但是使用這個查詢我無法從表中獲取最后一行值。我的條件是如果date1 and date2
有值,它將比較其他方面它將從數據庫中獲取數據而不進行比較。 請幫我。
$sql="SELECT * FROM `db_basic` WHERE `date1` <='$date' AND `date2` >= '$date' AND `date1` IS NOT NULL AND `date2` IS NOT NULL GROUP by `name_id`;";
只需使用UNION ALL
$sql="select * from db_basic where date1 <='".$date."' and date2 >= '".$date."' and date1 !='' and date2 !='' group by name_id union all select * from db_basic where date1 ='' and date2 ='' group by name_id ";
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.